zoukankan      html  css  js  c++  java
  • jstl标签

    为什么提出jstl标签?

    Jsp中包含html标签+java片段使得jsp页面比较乱。
    提出:能不能把<% %>java片段用标签替换 jsp页面更简洁

    使用注意:

    1.<%%>中放的代码是纯java代码,在其中是不能放jstl标签代码的

    2.${}中是不能嵌套使用${}的

    3.jstl标签是可以放el表达式的

    <!-- 引入jstl标签库 -->

    JSTL-Library—>jstl-impl.jar—>META-INF—>c.tld

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

    JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
    1.表达式控制标签:out、set、remove、catch
    2.流程控制标签:if、choose、when、otherwise
    3.循环标签:forEach、forTokens
    4.URL操作标签:import、url、redirect

    下面<% %>中间的代码是测试用

    c_out

    <%
         //out.println("hello,world");
         //如果我们的域对象中有相同的属性名  c:out的优先级是pageContext>request>session>application
         request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
         //session.setAttribute("abc","你好");
        // application.setAttribute("abc","你好");
        // pageContext.setAttribute("abc","你好");
        
       User u=new User();
       u.setName("小明");
       u.setPassword("123");
       request.setAttribute("user1",u);
        %>
      
       <c:out value="hello,world"></c:out>
       <h3>如何输出request/session/application/pageContext域对象的数据</h1>
       <!--escapeXml指定是否按照html样式显示,默认【true】表示文本 【false】表示html样式 -->
       <c:out value="${abc}" default="没有值" escapeXml="false"></c:out> <!-- 等同于 request.getAttribute("abc").toString(); -->
       <h3>如何输出一个对象的值</h3>
       <c:out value="${user1.name }"></c:out> <!-- 等同于((User)request.getAttribute("user1")).getName(); -->
      

    <c:set>

    这个标签用于在某个范围(page,request,session,application等)设置某个值
    <c:set var="abc" value="中国,北京" scope="request"></c:set> <!--等价于request.setAttribute("abc","中国,北京")  -->
    <c:out value="${abc}"></c:out>

    <c:remove>

     <%
          request.setAttribute("a","你好");
         %>
         <h3>输出</h3>
       <c:out value="${a}"></c:out>
       <h3>remove</h3>
       <c:remove var="a" scope="request"  />
       <c:out value="${a}" default="没有值"></c:out>

    <c:choose>

     <%
         request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");   
         User u=new User();
       u.setName("小明");
       u.setAge("123");
       request.setAttribute("user1",u);
        %>
    
       <c:choose>
       <c:when  test="${user1.age<110 }">
           小于
       </c:when>
       <c:when test="${user1.age>110 }">
                  大于
       </c:when>
       <c:otherwise>
           其他
       </c:otherwise>
       </c:choose>

    <c:foreach>

     <h3>foreach的取法</h3>
        <!--${all}表示域对象的那个属性(一般是一个集合) var="user"表示具体的对象 -->
        <c:forEach items="${all}" var="user">
         <c:out value="${user.name}"></c:out>
         <c:out value="${user.password}"></c:out>
        </c:forEach>
        <h3>第二种迭代:1 to 10</h3>
         <c:forEach  var="i" begin="1" end="10" >
         <c:out value="${i}"></c:out>--    
        </c:forEach>
        <h3>第三种迭代:1 to 10 step=3</h3>
         <c:forEach  var="i" begin="1" end="10" step="3" >
         <c:out value="${i}"></c:out>--    
        </c:forEach>

    <c:if>

       <%
           request.setAttribute("a","hello");
           request.setAttribute("age", "56");
         %>
         <h1>判断字符串</h1>
        <c:if test="${a=='hello'}">
         ok
        </c:if>
         <c:if test="${a!='hello'}">
         no
        </c:if>
         <h1>判断数值</h1>
         <c:if test="${age==56}">
             等于56
        </c:if>
         <c:if test="${age>40 and age<60}">
             age>40 and age<60
        </c:if>

    <c:fortokens>

       <c:forTokens items="12;23;你好;haha" delims=";" var="temp">
        ${temp}
       </c:forTokens>
  • 相关阅读:
    iOS开发数据库篇—SQLite的应用
    iOS开发数据库篇—SQL代码应用示例
    iOS开发数据库篇—SQL
    iOS开发数据库篇—SQLite简单介绍
    iOS开发网络篇—NSURLConnection基本使用
    iOS开发网络篇—数据安全
    iOS开发网络篇—GET请求和POST请求
    WordPress主题开发:开启文章缩略图功能
    WordPress主题开发:开启feed功能
    WordPress主题开发:循环代码
  • 原文地址:https://www.cnblogs.com/xiangkejin/p/5803396.html
Copyright © 2011-2022 走看看