JSTL


JSTL

1. 概念

JavaServer Pages Tag Library JSP标准标签库

  • 是由Apache组织提供的免费的开源的免费的 jsp 标签

2. 作用

  • 用于简化和替换 jsp 页面上的 java 代码

3. 使用步骤

  1. 导入 jstl 相关 jar 包
  2. 引入标签库:taglib 指令:<%@ taglib %>
  3. 使用标签

4. 常用的 JSTL 标签

  1. if :相当于java中的 if
    1. 属性:
      • test 必需属性,接收 boolean 表达式
        • 如果表达式为 true, 则显示 if 标签体内容,如果为 false,则不显示标签体内容
        • 一般情况下,test 属性值会结合 el 表达式一起使用
    2. 注意:
      • c : if 标签没有 else 情况,想要 else 情况,则可以再定义一个 c : if 标签
  2. choose:相当于java中的 switch
    1. 使用 choose 标签声明 相当于 switch 声明
    2. 使用 when 标签判断 相当于 case
    3. 使用 otherwise 标签做其他情况的声明 相当于default
  3. foreach:相当于java中的 for

5. 练习:

需求:在 request 域中有一个存有 User 对象的 List 集合。需要使用 jstl + el 将 list 集合数据展示到 jsp 页面的表格 table 中

<%@ page import="java.sql.Array" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="Domian.User" %>
<%@ page import="java.util.Date" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>test</title>
</head>
<body>

 <%
     List list = new ArrayList();
     list.add(new User("张三", 23, new Date()));
     list.add(new User("李四", 25, new Date()));
     list.add(new User("王五", 26, new Date()));
     request.setAttribute("list", list);
 %>

<table border="1", width="500", align="center">
     <tr>
         <th>编号</th>
         <th>姓名</th>
         <th>年龄</th>
         <th>生日</th>
     </tr>
     <%--数据行--%>

     <c:forEach items="${list}" var="user" varStatus="s">

         <c:if test="${s.count % 2 == 0}">
             <tr bgcolor="red">
                 <td>${s.count}</td>
                 <td>${user.name}</td>
                 <td>${user.age}</td>
                 <td>${user.getBitStr()}</td>
             </tr>
         </c:if>

         <c:if test="${s.count % 2 != 0}">
             <tr bgcolor="pink">
                 <td>${s.count}</td>
                 <td>${user.name}</td>
                 <td>${user.age}</td>
                 <td>${user.getBitStr()}</td>
             </tr>
         </c:if>


     </c:forEach>

 </table>

</body>
</html>

文章作者: han yue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 han yue !
评论
  目录