首页 > Web开发 > 详细

JSTL

时间:2019-05-03 20:47:58      阅读:98      评论:0      收藏:0      [点我收藏+]

JSTL(JavaServer Pages Tag Library)

一、概念

JSTL(JavaServer Pages Tag Library),JSP标准标签库,是由Apache组织提供的开源jsp标签,可以用来简化和替换jsp页面的java代码。

二、使用步骤

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

三、常用标签

  1. if:相当于java代码的if语句

    1. 有一个必须的属性:test,用来接收boolean表示式,如果表达式为true显示标签体内容,false不显示

    2. 一般test的属性值配合el表达式

      <%
          List list = new ArrayList();
          list.add("aaa");
          request.setAttribute("list",list);
      
          request.setAttribute("number", 4);
      %>
      
      <c:if test="true">我是if,真</c:if>
      <c:if test="${not empty list}">遍历集合</c:if>
      <c:if test="${number mod 2 == 0}">${number}偶数</c:if>
      <c:if test="${number mod 2 != 0}">${number}奇数</c:if>
  2. choose:相当于java代码的switch语句

    1. 使用choose标签声明
    2. 使用when标签判断
    3. 使用otherwise标签声明其他情况,相当于default
    <%
        request.setAttribute("number", 13);
    %>
    
    <c:choose>
        <c:when test="${number == 1}">星期一</c:when>
        <c:when test="${number == 2}">星期二</c:when>
        <c:when test="${number == 3}">星期三</c:when>
        <c:when test="${number == 4}">星期四</c:when>
        <c:when test="${number == 5}">星期五</c:when>
        <c:when test="${number == 6}">星期六</c:when>
        <c:when test="${number == 7}">星期日</c:when>
    
        <c:otherwise>输入数字有误</c:otherwise>
    </c:choose>
  3. foreach:相当于java代码的for循环语句

    1. 完成重复性的操作:

      <c:forEach begin="1" end="10" var="i" step="1">
          ${i}
      </c:forEach>
    2. 遍历容器:

      属性:

      1. items:容易对象
      2. var:容器中元素的临时变量
      3. varStatus:循环状态变量,有index属性(索引,从0开始)、count属性(循环次数,从1开始)
      <%
          List<String> list = new ArrayList<>();
          list.add("aaa");
          list.add("bbb");
          list.add("ccc");
          request.setAttribute("list", list);
      %>
      
      
      <c:forEach items="${list}" var="str" varStatus="s">
          ${s.index} ${s.count} ${str}<br>
      </c:forEach>

四、jstl的使用

<%
    // 创建一个list,并将该list加入request域
    List list = new ArrayList();
    list.add(new User("猪八戒", 556, new Date()));
    list.add(new User("孙悟空", 36, new Date()));
    list.add(new User("西海龙王", 6, new Date()));
    list.add(new User("巨无霸", 536, new Date()));
    list.add(new User("鲨鱼辣椒", 56, new Date()));

    request.setAttribute("list", list);
%>
// 动态创建表格
<table border="1px" 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="#ffc0cb">// 隔行颜色不一样
                <td>${s.count}</td>// 依次取出属性
                <td>${user.name}</td>
                <td>${user.age}</td>
                <td>${user.birthStr}</td>
            </tr>
        </c:if>
        <c:if test="${s.count % 2 != 0}">
            <tr bgcolor="#7fffd4">
                <td>${s.count}</td>
                <td>${user.name}</td>
                <td>${user.age}</td>
                <td>${user.birthStr}</td>
            </tr>
        </c:if>
    </c:forEach>


</table>

JSTL

原文:https://www.cnblogs.com/zhuobo/p/10806205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!