A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李皓321 初级黑马   /  2018-5-21 16:02  /  630 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JSP&EL&JSTL

1,JSP概述:
Ø  什么是JSP:
       * Java Server Pages(Java服务器端的页面)
Ø  为什么要学习JSP:
* SUN公司推出的Servlet自身有缺陷,没有办法与ASP,PHP进行竞争.推出了动态网页开发技术JSP.
Ø  使用JSP:
* JSP = HTML + Java代码 + JSP自身的东西.
Ø  执行JSP的过程:
* JSP翻译成Servlet,编译这个Servlet的类,生成class文件.得到执行.
  • JSP脚本:
Ø  <%!   %>    :翻译成Servlet中的成员内容. 定义变量,方法,
         类. -- 不建议.
Ø  <%    %>     :翻译成Servlet中service方法内部的内容. 定义类,
        变量
Ø  <%=   %>    :翻译成Servlet中service方法中out.print();
  • JSP的注释:
Ø  HTML的注释      :<!-- 注释 -->
Ø  Java代码的注释   :// 单行注释 /*多行注释*/ /** 文档注释 */
Ø  JSP的注释       :<%-- JSP的注释 --%>
  • JSP的指令:
Ø  指令的语法:
         <%@ 指令名称 属性名称=”属性值” 属性名称=”属性值” ...%>
Ø  JSP中有三个指令:page指令, include指令, taglib指令.
Ø  JSP中page指令:<%@ page %> -- 设置JSP的.
* language      :JSP脚本中使用的语言.现在只能写java.
* contentType   :设置浏览器打开这个JSP的时候采用的默认的字
            符集的编码.
* pageEncoding  :设置文件保存到本地硬盘,以及生成Servlet  
           后,Servlet保存到硬盘上的编码.
* import        :在JSP中引入类对象.但是import可以出现多次.
    <%@page import="java.util.ArrayList"%>
    <%@page import="java.util.List"%>
* extends      :设置JSP翻译成Servlet后继承的类,默认
           值:org.apache.jasper.runtime.HttpJspBase,这个值要想修
            改,这个类必须是HttpServlet的子类
* autoFlush     :设置JSP的缓存自动刷出.true:自动刷出.
* buffer        :设置JSP的缓冲区的大小,默认8kb.
* session       :设置在JSP中是否可以直接使用session对象.默认
              值是true.
* isELIgnored   :设置在JSP中是否忽略EL表达式.默认值是false
             不忽略.
* errorPage     :设置错误友好页面的提示.
* isErrorPage   :通过这个设置显示JSP的错误信息.
    * 设置全局的错误友好页面:
        * 在web.xml中设置:
  <error-page>
    <error-code>404</error-code>
    <location>/404.jsp</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/500.jsp</location>
  </error-page>

Ø  JSP中的include指令:指示JSP包含其他的页面.
<%@ include file="logo.jsp" %>
<%@ include file="menu.jsp" %>
<h1>BODY部分</h1>
<%@ include file="footer.jsp" %>

Ø  JSP中的taglib指令:指示JSP引入标签库.
<%@ taglib uri="标签的URI的路径" prefix="标签的别名" %>
  • JSP的内置对象(*****):笔记/扩展
  • JSP的动作标签:(面试,列出6个):
      Ø  标签的作用:简化代码.
Ø  <jsp:forward />         :用于页面的转发.
        * <jsp:forward page="/demo1-jsp/demo3-object/demo3.jsp">
       </jsp:forward>
Ø  <jsp:include />         :用于页面的包含.(动态包含)
         *****静态包含和动态包含的区别?(<%@ include%>和
      <jsp:include>)
Ø  <jsp:param />           :用于带有路径的标签下,传递参数.
Ø  <jsp:useBean />         :用于在JSP中使用JavaBean.
Ø  <jsp:setProperty />     :用于在JSP中向JavaBean设置属性的.
Ø  <jsp:getProperty />     :用于在JSP中获得JavaBean的属性.


2, El: (Expression Language):表达语言
为了使JSP写起了更简单,简化JSp代码。减少<%%>
  • 表达式:
          语法:${ EL表达式}
  • 功能:
           获取数据:(JSP的四个域)
           执行运算
           操作WEB开发的常用的对象
           调用Java中方法:---很少用               
点(. )和【】的区别:
   * [ ]用于有下标的数据(数组,list集合),用于有属性的数据(map,对象)
   *如果属性名中包含有特殊字符,必须使用[ ].
2,EL操作WEB开发常用对象:
  • pageScope,requestScope,sessionScope,applicationScope-获取JSP中域的数据
  • param,paramValue--接受参数
  • header, hreaderValue  - 获取请求头信息
  • initParam  : 获取全局初始化参数
  • cookie  : WEB开发中cookie
  • pageContext : WEB开发中的pageContext
                            JSTL
1,JSTL:JSP标准标签库
        JSTL 和EL结合使用,替换页面中<%%>
     版本:
        JSTL1.0    不支持EL表达式
        JSTL1.1和1.2    支持EL表达式
2,JSTL标签库:包含了五类标签:
         core(核心标签),fmt(国际化标签),xml(XML标签),fn(JSTL提供的EL函数库)
3,使用JSTL:
  • 引入JSTL的相关jar包
  • 必须在页面引入标签库
                       <%@ taglib uri=”” prefix=””%>
4,核心标签的用法:
  • if:判断,else取决于判断条件
  • forEach:遍历:
遍历:<c:forEach var="" begin="" end="" step="" varStatus="status">
<var:名字,随便取,Java命名规范   items :取出待遍历的对象  step:步进>
begin:从XXX开始
end:到XXX结束
statuts.index:指定索引的值
statuts.count:指定个数(每隔多少个数变一次色等的运用)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马