技术点11:JSTL标签库

JAVA学习网 2020-11-13 21:14:09

JSTL 标签库

  JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标签库。
  EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面变得更佳简洁。
JSTL 由五个不同功能的标签库组成:

 

 

在 jsp 标签库中使用 taglib 指令引入标签库:

 

 

一、JSTL 标签库的使用步骤

1.1、先导入 jstl 标签库的 jar 包

1.2、使用 taglib 指令引入标签库

 

 

二、core 核心库使用

2.1、<c:set />(使用很少

  作用:set 标签可以往域中保存数据

示例:

 

效果:

 

2.2、<c:if />

  作用:if 标签用来做 if 判断。 

示例:

 

效果:

 

 

2.3、<c:choose> <c:when> <c:otherwise>标签

  作用:多路判断。跟 switch ... case .... default 非常接近

示例:

<body>
<%
    request.setAttribute("height", 180);
%>
<c:choose>
    <c:when test="${ requestScope.height > 190 }">
        <h1>小巨人</h1>
    </c:when>
    <c:when test="${ requestScope.height > 180 }">
        <h1>很高</h1>
    </c:when>
    <c:when test="${ requestScope.height > 170 }">
        <h1>还可以</h1>
    </c:when>
    <c:otherwise>
        <c:choose>
            <c:when test="${ requestScope.height > 160 }">
                <h1>大于160</h1>
            </c:when>
            <c:when test="${ requestScope.height > 150 }">
                <h1>大于150</h1>
            </c:when>
            <c:when test="${ requestScope.height > 140 }">
                <h1>大于140</h1>
            </c:when>
            <c:otherwise>
                <h1>小于140</h1>
            </c:otherwise>
        </c:choose>
    </c:otherwise>
</c:choose>
</body>

效果:

 

2.4、<c:forEach />

  作用:遍历输出使用。
 
1. 遍历 1 到 10,输出

 

效果:

 

2. 遍历 Object 数组

 

效果:

 

3. 遍历 Map 集合

 

效果:

 

 

4. 遍历 List 集合---list 中存放 Student 类,有属性:编号,用户名,密码,年龄,电话信息

Student.java类:

 

示例:

<body>
<%
    List<Student> studentList = new ArrayList<Student>();
    for (int i = 1; i <= 10; i++) {
        studentList.add(new Student(i, "username" + i, "password" + i, 18 + i, "phone" + i));
    }
    request.setAttribute("stus", studentList);
%>
<table>
    <tr>
        <td>编号</td>
        <td>用户名</td>
        <td>密码</td>
        <td>年龄</td>
        <td>电话</td>
        <td>操作</td>
    </tr>
    <%--
        begin:起始索引
        end:结束索引
        step:步长
        varStatus:表示当前遍历到的数据的状态
        items:遍历的集合
        var:遍历到的数据
    --%>
    <c:forEach begin="2" end="7" step="2" varStatus="status" items="${requestScope.stus}" var="stu">
        <tr>
            <td>${stu.id}</td>
            <td>${stu.username}</td>
            <td>${stu.password}</td>
            <td>${stu.age}</td>
            <td>${stu.phone}</td>
            <td>${status.step}</td>
        </tr>
    </c:forEach>
</table>
</body>

效果:

 

阅读(2413) 评论(0)