zoukankan      html  css  js  c++  java
  • JSTL简介

     

    JSTL即Jsp Standard Tag Libraries即Jsp的标准标签库。该技术提供了很多的标签用于封装JSP中常用的一些基本的业务逻辑。

    主要的分类如下:

    核心库:主要封装的是一些基本的核心的业务逻辑。

    <%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>

    格式化和国际化库:主要封装的是一些进行数据格式化和国际化的业务。如:日期格式化。

    <%@taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="f"%>

    XML库:主要封装的是一些解析XML数据的业务逻辑。

    <%@taglib uri="http://java.sun.com/jsp/jstl/xml"  prefix="xml"%>

    SQL库:主要封装的是操作数据库的业务逻辑。

    <%@taglib uri="http://java.sun.com/jsp/jstl/sql"  prefix="sql"%>

    函数库:主演封装的是常见函数。如:String

    <%@taglib uri="http://java.sun.com/jsp/jstl/functions"  prefix="fun"%>

      JSTL引入

    1. 在web项目中导入jstl的jar包。如果创建的5.0的javaee项目那么自动引入。
    2. 如果需要在JSP页面中使用该抱歉库,那么必须使用taglib指令引入到当前的页面

    <%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>

      体验

    <%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>

    <c:out value="<%= 23 == 23 %>"></c:out>

    以上的标签可以将如下的输出语句进行避免

    <%

      out.println(“”)

    %>

    核心库标签
    1. c:out
      <c:out                 -> 输出标签
    value=""             -> 输出的内容,可以是输出表达式<%= %>
    default=""             -> 输出的默认值
    escapeXml="">        -> 是否以xml方式输出数据
    </c:out>
    举例:
        <c:out
        value='<%=pageContext.getAttribute("name",PageContext.REQUEST_SCOPE)%>' escapeXml="false"></c:out>
    2. c:set
    <c:set                      -> 设置一个域或者集合中的属性
    var=""                 -> 指定域中的属性名
    value=""                 -> 指定域中的属性值
    scope=""                 -> 指定域对象
    target=""                 -> 指定集合名
    property="">            -> 集合的属性名
    </c:set>    
    举例:
    <c:set  var="psw" value="root" scope="page"></c:set><br/>
            <c:out        value='<%=pageContext.getAttribute("psw",PageContext.PAGE_SCOPE)%>'></c:out>
    举例:
    <!-- map.put("qq","123456789") -->
            <c:set target="<%= map %>" property="qq" value="123456789"></c:set>
            <%= map.get("qq") %>
    3. c:remove
    <c:remove                 -> 删除域中的属性
    var=""                 -> 指定属性名
    scope=""/>            -> 指定域名
    4. c:catch
        <c:catch var="">        -> 处理异常,指定异常对象以什么属性存储在page域
            </c:catch>
    举例:
    <c:catch var="error">
                <%= 12/0 %>
            </c:catch>
            异常消息是:
            <c:out value='<%= ((Exception)pageContext.getAttribute("error",PageContext.PAGE_SCOPE)).getMessage() %>'></c:out>
    5. c:if 判断语句
    <c:if test=””>               -> 指定的条件语句
                              -> 如果成立执行标签体内容
    </c:if>
    举例:
    <c:if test='<%= pageContext.getAttribute("list",PageContext.SESSION_SCOPE) == null %>'>
               <font color="red">数据为空!</font><br/>
            </c:if>
    6. if…selse
        <c:choose>                    -> 外部选择
              <c:when test="">    -> 指定的是条件语句
                  
              </c:when>
              <c:otherwise>        -> 条件不成立
                  
              </c:otherwise>
         </c:choose>
    举例:
    <c:choose>
              <c:when test='<%= "jack".equals("jack") && "root".equals("root2") %>'>
                 <c:out value="欢迎"></c:out>
              </c:when>
              <c:otherwise>
                 <c:out value="注册"></c:out>
              </c:otherwise>
            </c:choose>
    7. c:forEach 循环(重点)
      <c:forEach                     -> 循环
    begin=""                 -> 循环的开始值
    end=""                     -> 循环结束的值
    step=""                     -> 循环的步长
    var=""                     -> 将循环出来的数据已指定的属性名放置在page域
    items=""                 -> 循环的集合数据
    varStatus="">            -> 循环的状态对象
            
    </c:forEach>
    举例:
    <c:forEach begin="0" end="10" var="i">
               <c:out value='<%= pageContext.getAttribute("i",PageContext.PAGE_SCOPE) %>'></c:out><br/>
            </c:forEach>
    举例:
    <% 
               List<String> list = new ArrayList<String>();
               list.add("aaaa");
               list.add("bbbb");
               list.add("cccc");
               session.setAttribute("list",list);
            %>
            <!-- pageContext.setAttribute("str","aaaa",PageContext.PAGE_SCOPE)  -->
            <c:forEach items='<%=pageContext.getAttribute("list",PageContext.SESSION_SCOPE) %>' 
                       var="str">  
              <c:out value='<%= pageContext.getAttribute("str",PageContext.PAGE_SCOPE)%>'></c:out><br/>
            </c:forEach>
    举例:
    <c:forEach items='<%=pageContext.getAttribute("list",PageContext.SESSION_SCOPE) %>' 
                           var="str"
                           varStatus="status">  
                     <c:choose>
                        <c:when test="${status.count % 2 == 0}">
                           <tr bgcolor="red">
                        </c:when>
                        <c:otherwise>
                           <tr bgcolor="yellow">
                        </c:otherwise>
                     </c:choose>
                     <td>         
                       <c:out value='<%= pageContext.getAttribute("str",PageContext.PAGE_SCOPE)%>'></c:out>
                     </td>
                  </tr>
                </c:forEach>
    举例:
    <table align="center" border="1">
                <!-- pageContext.setAttribute("str","aaaa",PageContext.PAGE_SCOPE)  -->
                <c:forEach items='<%=pageContext.getAttribute("list",PageContext.SESSION_SCOPE) %>' 
                           var="str"
                           varStatus="status">  
                    <tr bgcolor='${ status.count % 2 == 0 ?  "gray" : "pink" }'>
                     <td>         
                       <c:out value='<%= pageContext.getAttribute("str",PageContext.PAGE_SCOPE)%>'></c:out>
                     </td>
                  </tr>
                </c:forEach>
            </table>
    8. c:url
    <c:url 
    var=""                 -> 指定属性的名字
    value=""             -> 指定属性的值
    scope=""             -> 指定域
    context="">        -> 指定网站
    </c:url>    
    举例:
    <c:url var="index" value="http://www.itcast.cn" scope="page">
               <c:param name="name" value="焦宁波"></c:param>
    </c:url>    
    9. c:redirect 重定向
    举例:
    <c:redirect url="/list" context="/day09_example"></c:redirect>
    10. c:forTokens
       <c:forTokens items="james,jack,lucy,jnb" delims="," step="1" var="name">
               <c:out value='<%= pageContext.getAttribute("name",PageContext.PAGE_SCOPE) %>'></c:out><br/>
            </c:forTokens>
    11. c:import标签
    引入页面
    <c:import url="test.jsp"></c:import>
  • 相关阅读:
    【动态规划】Column Addition @ICPC2017Tehran/upcexam5434
    【高精度&想法题】Count the Even Integers @ICPC2017HongKong/upcexam5563#Java
    【二分】Base Station Sites @ICPC2017HongKong/upcexam5559
    【想法题】Knot Puzzle @AtCoder Grand Contest 002 C/upcexam5583
    【搜索】传感器 @upcexam6023
    Unity 3D 开发 —— 脚本编程
    Kinect 开发 —— 骨骼数据与彩色影像和深度影像的对齐
    Kinect 开发 —— 杂一
    Kinect 开发 —— 面部追踪
    Kinect 开发 —— Kinect studio
  • 原文地址:https://www.cnblogs.com/friends-wf/p/3735080.html
Copyright © 2011-2022 走看看