JSTL表达式概述
(1)什么是jstl JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。 (2) jstl有什么意义? jstl出现的目的同el一样也是要替换jsp页面中的脚本代码。 (3) JSTL标准标准标签库有5个子库,目前常使用的是他的核心库
JSTL表达式-环境准备
(1)导入jar包 (2)引入标签库
< % -- 引入jstl-- % >
< % @ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" % >
JSTL表达式-if标签
(1)jstl的核心标签内容有很多,现在目前还常用的标签只有if、foreach标签。 (2)<c:if>标签 起到java代码的判断的作用 (3)if标签属性介绍 示例
< %
int a = 200 ;
int b = 500 ;
request. setAttribute ( "a" , a) ;
request. setAttribute ( "b" , b) ;
% >
< % --
test:测试条件成立
var: 用来保存条件的结果,true 或者false
scope: 表示将结果存到哪个域中
-- % >
< c: if test= "${a > b }" var= "bl" scope= "session" >
< h1 style= "color: green" > a大于b< / h1>
< / c: if >
< c: if test= "${!(a > b) }" >
< h1 style= "color: red" > a小于b< / h1>
< / c: if >
JSTL表达式-for标签
(1)forEach标签 起到java代码的for循环作用 (2)forEach标签属性介绍
< % --
for 标签:
1 : 普通for
for ( int i= 0 ; i< 5 ; i++ )
begin: 表示索引开始
end : 表示索引结束,包含结束值
var : 循环变量 i, 与begin+ step一同增长, jsp会自动的将该值存放在pageContext域中
step : 每一次循环的增量
-- % >
< %
int num = 10 ;
request. setAttribute ( "num" , num) ;
% >
< c: forEach begin= "1" end= "${num}" step= "1" var= "i" >
< h1 color= "green" > HelloWorld + ${ i} < / h1>
< / c: forEach>
< hr/ >
< % --
2 : 增强for
for ( String str: list)
items= "${list}" 从域中根据list这个键获取集合对象
var= "str" 每次循环时,jstl会自动将集合中的元素赋给str
每次循环时,jstl会自动将str的值存入pageContext域
varStatus= "vs" 这个参数会记录当前循环的一些状态信息
vs. count 返回值为number 可以获取当前循环的次数
vs. index 返回值为number 获取集合成员的索引( 下标从0 开始)
vs. first 返回值为boolean 现在指到的集合成员是否为第一个成员
vs. last 返回值为boolean 现在指到的集合成员是否为最后一个成员
-- % >
< %
ArrayList< String> list = new ArrayList < > ( ) ;
list. add ( "str1" ) ;
list. add ( "str2" ) ;
list. add ( "str3" ) ;
request. setAttribute ( "list" , list) ;
% >
< c: forEach items= "${list}" var= "str" varStatus= "vs" >
< h1 color= "red" > ${ str} , 现在是第${ vs. count} 次循环< / h1>
< / c: forEach>