1、EL基本格式
EL表达式的格式:用美元符号($)定界,内容包括在花括号({})中;
例如: ${loginInfoBean.suser}
此外,您可以将多个表达式与静态文本组合在一起以通过字符串并置来构造动态属性值;
例如:Hello {loginInfoBean.suser} ${loginInfoBean.spwd}
将标签库对应的jar包拷贝到WEB-INF/lib目录下,以便于系统可以加载所需要的类。使用taglib指令在页面上引入标签的命名空间和前缀,帮助系统定位对应的类。
JSTL简介
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的并实现Web应用程序中常见的通用功能的定制标签库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。
JSTL由四个定制标签库(core、format、xml和sql)组成。
core标签库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。
format标签库定义了用来格式化数据(尤其是数字和日期)的操作。
XML库包含一些标签,这些标签用来操作通过XML表示的数据。
2、EL隐藏对象
pageContext PageContext 实例对应于当前页面的处理
pageScope 与页面作用域属性的名称和值相关联的Map类
requestScope 与请求作用域属性的名称和值相关联的Map类
sessionScope 与会话作用域属性的名称和值相关联的Map类
applicationScope 与应用程序作用域属性的名称和值相关联的Map类
param 按名称存储请求参数的主要值的 Map 类
paramValues 将请求参数的所有值作为 String 数组存储的 Map 类
Header 按名称存储请求头主要值的 Map 类
headerValues 将请求头的所有值作为 String 数组存储的 Map 类
cookie 按名称存储请求附带的 cookie 的 Map 类
initParam 按名称存储 Web 应用程序上下文初始化参数的Map类
3Taglib指令
<$@ tagliburi="http://java.sun.com/jst1/core" prefix="c" %>
JSTL标签库与对应的taglib指令如下表:
JSTL 前置名称 URI
核心标签库 c http://java.sun.com/jsp/jst1/core
格式标签库 fmt http://java.sun.com/jsp/jst1/fmt
SQL 标签库 sql http://java.sun.com/jsp/jst1/sql
XML 标签库 xml http://java.sun.com/jsp/jst1/xml
3、核心标签库
1、 <c:out>标签用于显示输出结果。它分带Body和不带Body两种情况。
value属性,指定的表达式进行求值,然后打印结果。
escapeXml可选属性。它控制当用<c:out>标记输出对象。
default可选属性,如果指定了default属性,在对value属性的表达式求值所得结果为null或空String的情况下,<c:out>将打印其值。
2、<s:set>
var属性指定了限制了作用域的变量名称。
scope属性表明了该变量驻留在哪个作用域中。
value属性指定了分配给该变量的值。
3、<c:remove>
var属性指定待删除变量的名称
scope属性是可选的,它表示待删除变量来自哪个作用域,缺省为page。
3、<c:catch>
var属性用来储存错误信息的变量。
4、<c:if>
test属性 表达式的条件,求出结果为true|false
var属性,指定了限制了作用域的变量的名称。
scope属性指定了var变量的作用域。
5、<c:choose>有一个条件满足后面不在执行。
6、<c:forEach>
<c:forEach var ="varName" items = "collection" varstatus ="varStatusName" begin = "begin" end = "end" step= "step">
bodycontent
</c:forEach>
属性介绍:
begin和end属性要么是静态属性值,要么是可以得出整数值得表达式。他们分别指定迭代索引的初始值以及迭代索引的终止值。
step,它也必须是整数值。它指定每次迭代后索引的增量。
var属性,那么将会创建一个带有指定名称的并限定了作用域的变量,并将每次迭代的当前索引值赋给该变量。
varstatus属性该类定义了一组特性,它们描述了迭代的当前状态。
items属性值应该是一个集合,对该集合的成员进行迭代,通常使用EL表达式指定值。
特性 Getter 描述
current getCurrent() 当前这次迭代的(集合中的)项
index getIndex() 当前这次迭代从0开始的迭代索引
count getCount() 当前这次迭代从1开始的迭代计数
first isFirst() 用来表明当前这轮迭代是否为第一次迭代的标志
last isLast() 用来表明当前这轮迭代是否为最后一次迭代的标志
begin getBegin() begin属性值
end getEnd() end属性值
step getStep() step属性值
2>.<c:forTokens>标签
<c:forTokens items ="StringOfTokens" delims = "delimiters" varstatus ="varStatusName" begin = "begin" end = "end" step= "step">
body content
</c:forTokens>
属性介绍:
通过items属性指定要标记化得字符串,而通过delims属性提供用于生成标记的一组定界符。