zoukankan      html  css  js  c++  java
  • JSTL

    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>
    
  • 相关阅读:
    C#-MessageBox全部函数重载形式及举例
    在软件开发中应用80:20原则
    C# 程序员最常犯的 10 个错误
    关于vs2013调试的偶然错误发现与总结(vs2013的承载进程)---ShinePans
    C#好书盘点
    C#中 父类与子类相互强制转换之实验
    如何用C#语言构造蜘蛛程序
    C#创建word,操作、读写
    Linux less/more命令详解
    Linux 环境变量详解
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10806205.html
Copyright © 2011-2022 走看看