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文件.得到执行.
Ø <%! %> :翻译成Servlet中的成员内容. 定义变量,方法,
类. -- 不建议.
Ø <% %> :翻译成Servlet中service方法内部的内容. 定义类,
变量
Ø <%= %> :翻译成Servlet中service方法中out.print();
Ø HTML的注释 :<!-- 注释 -->
Ø Java代码的注释 :// 单行注释 /*多行注释*/ /** 文档注释 */
Ø 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:
<%@ 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:指定个数(每隔多少个数变一次色等的运用)
|
|