JSTL标签库
1.概念: Java Server page Tag library(jsp标准标签库)
2.作用:用于简化和替换jsp中的java代码
3.使用步骤:
- 1.导入jstl相关的jar包
- 2.引入标签库使用taglib指令
<%@taglib prefix="自定义名字" uri="http://java.sun.com/jsp/jstl/core" %>
我们在使用JSTL标签库的时候经常都把前缀(prefix)设置成C这是一种默认的规则
- 3.使用标签
4.经常使用的标签(分类)通常与EL表达式配合使用
1.条件标签
-
- if:相当于java中的if语句
属性:test(必须属性),接收boolean值
当值是true的时候,显示标签体的内容,当值是false的时候不显示标签体的内容
注意:经常与EL表达式配合使用,没有else,需要else的时候写多重if
如:
1.判断request中存放的list集合数据是否为null,如果不是null就显示遍历集合
2.判断是奇数的时候打印,偶数的时候不打印
- if:相当于java中的if语句
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
JSTL使用
<%
//1.创建List集合,添加数据
List list = new ArrayList();
list.add("xzw");
list.add("hhy");
list.add("ysj");
//2.将获取的list集合添加在request域对象之中
request.setAttribute("list",list);
//设置一个值,将其存在request域对象之中
Integer a = 4;
request.setAttribute("number",a);
%>
<%--使用JSTL标签库进行判断--%>
遍历list集合
<%--奇偶数判定--%>
奇数
偶数
-
- choose:相当于java中的switch语句
-
- when:和choose配合使用相当于case
-
- otherwise:和choose配合使用相当于default
如:完成一个数字编号对应星期几案例
- otherwise:和choose配合使用相当于default
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
JSTL中choose使用
<%--存放一个数字--%>
<%
int i = 11;
request.setAttribute("i",i);
%>
<%--使用JSTL--%>
星期一
星期二
星期三
星期四
星期五
星期六
星期日
数字有误
2.迭代标签
- foreach:相当于java中的for语句
使用方式:
1,完成重复操作
属性:
开始值,begin
结束值,end
var ,临时变量
step,步长
varstatus,循环状态对象
(index:容器中元素索引)
(count:循环次数)
2,遍历容器
属性:
iterm,获取容器变量
var,临时变量
varstatus,循环状态对象,在遍历的时候使用的更多
(index:容器中元素索引)
(count:循环次数)
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.xzw.entity.User" %>
<%@ page import="java.util.Date" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
foreach使用
<%
List list = new ArrayList();
list.add(new User("xzw",21,"nan",new Date()));
list.add(new User("hhy",21,"nan",new Date()));
list.add(new User("ysj",21,"nan",new Date()));
list.add(new User("lfb",21,"nan",new Date()));
request.setAttribute("list",list);
%>
<%--第一种使用方法:进行重复操作--%>
var:${i}--index:${s.index}--count:${s.count}
<%--第二种使用方法:遍历容器--%>
${s.count} ${user.name}
页面效果: