概念:JavaServer Pages Tag Library JSP标准标签库
作用:用于简化和替换jsp页面上的java代码
使用标签:
导入jstl相关jar包
引入标签库:taglib指令:
使用标签
常见的JSTL标签
if :相当于java代码的if语句
属性:
test必须属性,接受boolean表达式
如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
一般情况下,test属性值会结合el表达式一起使用
注意:c:if标签没有else情况,想要else情况,则可以再定义一个c:if标签
choose :相当于java的switch语句
使用choose标签取出数字 相当于switch声明
使用when标签做数字判断 相当于case
otherwise标签做其他情况的声明 相当于default
foreach :相当于java的for循环语句
练习:
需求:在request域中有一个存有User对象的List集合,需要使用jstl+el将list集合数据展示到jsp页面的表格table中
c:if判断标签
if标签c:if标签
1.属性:
* test必须属性,接受boolean表达式
* 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
* 一般情况下,test属性值会结合el表达式一起使用
2.注意:c:if标签没有else情况,想要else情况,则可以再定义一个c:if标签
--%>
我是真...
//判断request域中的一个list集合为是否为空,如果不为null则显示遍历集合
List list=new ArrayList();
list.add("aaaa");
request.setAttribute("list",list);
request.setAttribute("number",3);
%>
遍历list集合.....
${number}为奇数...
${number}为偶数...
c:choose与c:when标签
choose标签完成数字编号对应的是星期几
1.域中存储一数字
2.使用choose标签取出数字 相当于switch声明
3.使用when标签做数字判断 相当于case
4.otherwise标签做其他情况的声明 相当于default
--%>
request.setAttribute("number",3);
%>
星期一
星期二
星期三
星期四
星期五
星期六
星期天
数字输入有误
forEach遍历标签
foreach标签foreach:相当于java代码的for语句
1.完成重复操作
for(int i=0;i<10;i++){
}
* 属性:
begin:开始值
end:结束值
var:临时变量
step:步长
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
2.遍历容器
List list;
for(User user:list){
}
items:容器对象
var:容器中的临时变量
varStatus:循环状态对象
index:容器中元素的索引,从0开始
count:循环次数,从1开始
--%>
${i} ${s.index} ${s.count}
${s}
List list=new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
request.setAttribute("list",list);
%>
${s.index} ${s.count} ${str}
对象列表输出案例
TestList list=new ArrayList();
list.add(new User("张三",23,new Date()));
list.add(new User("李四",24,new Date()));
list.add(new User("王五",25,new Date()));
request.setAttribute("list",list);
%>
编号 | 姓名 | 年龄 | 生日 |
---|---|---|---|
${s.count} | ${user.name} | ${user.age} | ${user.birStr} |
${s.count} | ${user.name} | ${user.age} | ${user.birStr} |