(1) JSP是一种Java服务器端技术,它用于在网页上显示动态内容。
(2) JSP页面构成
a) 静态内容 HTML元素等
b) 指令 <%@ page language=”java” pageEncoding=”GBK” %>
c) 表达式 <%=”Hello World!” %>
d) Scriptlet <%out.println(“
Hello World!
”); %>
e) 声明 <%!public String welcome = “Hello World!”; %>
f) 动作
g) 注释 <%-- 这个注释客户端看不见 --%>
(3) 表达式、Scriptlet和声明都是JSP脚本元素。
(4) JSP目前的指令有3种,即page、include、taglib。
(5) JSP隐式对象:
a) 输入输出对象 request、response、out
b) 作用域通信对象 session、application、pageContext
c) Servlet对象 page、config
d) 错误对象 exception
(6) JavaBean是一个公共类,具有不带任何参数的公有构造函数,具有get()和set()方法。
(7) JSP标准动作:
(8) EL表达式可用于所有HTML和JSP标签中。其隐式对象包括:pageContext、request、param、paramValues、pageScope、requestScope、sessionScope、applicationScope
(9) 自定义标签在功能逻辑上与JavaBean类似,都封装Java代码;自定义标签时可重用的组件代码,JavaBean也是可重用的组件。
(10) 标签处理程序是JSP文件中自定义标签的实现代码,是一个运行时调用的Java类。它必须实现或扩展javax.servlet.jsp.tagext包中的类和接口。
(11) Javax.servlet.jsp.tagext包中的类:
a) Tag接口 定义了标签处理程序和JSP页面生成的Servlet之间的基本协议
b) IterationTag接口 扩展了Tag接口,增加了一个控制重复处理标签主体的方法
c) BodyTag接口 扩展了IterationTag接口,由需要对标签主体进行访问并能对其进行操作的标签处理程序使用
d) TagSupport类 实现了Tag和InterationTag接口,支持简单标签和主体迭代
e) BodyTagSupport类 实现BodyTag接口,扩展TagSupport类,支持需要访问和操纵标签的主体内容的标签
(12) 标签生命周期:
(13) 使用标签文件,不需要标签库描述符文件,且标签文件必须存放在WEB-INF/tags文件夹或其子目录中。
(14) JSTL提供4个主要的标签库:核心标签库、国际化(I18N)与格式化标签库、XML标签库以及SQL标签库。
(15) 核心标签库:
a) 通用标签:
b) 条件标签:
c) 迭代标签: