JSTL表达式的使用
<c:set>标签
1.设置变量的值。
2.通过此标签将变量值放到page、request、session、application范围中。
<c:set var=”” scope=”” value=””></c:set>
<c:out>标签
<c:out value = “” default = “”></c:out>
如果value值为空,则输出default的默认值。
<c:remove var = “” scope = “”></c:remove>
流程控制
<c:if test = “中间可以使用EL表达式也可以使用OGNL 表达式” var = “变量名” scope = “” > 默认放置于page范围内</c:if>其中var和scope可以省略
Choose、when、otherwise 相当于if,else if ,else,用法与上述的if标签差不多啦!
<c:choose>
<c:when test = “”>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
<c:foeach>
<c:forEach>标签就是迭代输出标记内部的内容。它既可以进行固定次数的迭代输出,也可以根据集合中对象的个数来决定迭代的次数。其语法定于如下:
<c:forEach var="name"items="expression" varStatus="name"
begin="expression" end="expression"step="expression">
body
</c:forEach>
var:迭代参数的名称
items:要进行迭代的集合,保存在上下文中
varStatus:迭代变量名称,用来表示迭代的状态,可以访问到自身的信息
begin:开始索引
end:结束索引
step:迭代步长
items属性支持Java提供的所有标准集合类型,还可以操作数组中的元素,它所支持的集合以及其他可迭代的元素如下:
java.util.Collecition
java.util.Map
java.util.Iterator
java.util.Enumberation
Object数组
基本类型数组
用逗号分隔的String
javax.servlet.jsp.jstl.sql.Result
varStatus所代表的变量有以下属性:
current:当前迭代的项
index:从0开始的迭代索引
count:从1开始的迭代计数
first:是否第一次迭代,boolean
last:是否最后一次迭代,boolean
begin:beigin属性的值
end:end属性的值
step:step属性的值
例子:
<c:forEach var="item"items="${contents}" varStatus="status">
$status.count:${item}
</c:forEach>
<c:forEach var="x"begin="1" end="9" step="1">
${x * x}
</c:forEach>
注意这里所使用的JSTL是1.1版本的,1.0中不提供对属性使用EL的支持
<c:forEach var="user"items="${requsetScope.like}" varStatus="status">
<tr <c:if test = “${status.index%2== 1}”> style bgcolor=””></c:if>> 设置奇数偶数行颜色不一样,用这个。
</c:forEach>