zoukankan      html  css  js  c++  java
  • JSTL笔记—c标签

    Taglib 伪指令 
    Java代码  收藏代码
    1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
    2. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>  
    3. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>  


    输出<c:out> 
    语法: 
    Java代码  收藏代码
    1. <c:out value="expression" default="expression" escapeXml="boolean"/>  
    说明: 
    该标记对由其 value 属性指定的表达式进行求值,然后打印结果。如果指定了可选属性 default,那么,在对 value 属性的表达式求值所得结果为 null 或空 String 的情况下,<c:out> 将打印其值。 
    escapeXml 属性也是可选的。它控制当用 <c:out> 标记输出诸如“<”、“>”和“&”之类的字符(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将 escapeXml 设置为 true,则会自动将这些字符转换成相应的 XML 实体(此处提到的字符分别转换成 &lt;、&gt; 和 &amp;)。 
    例:
    Java代码  收藏代码
    1. <c:out value="${user.company}" escapeXml=="false"/>  


    赋值<c:set> 
    语法: 
    Java代码  收藏代码
    1. <c:set var="name" scope="scope" value="expression"/>  
    说明: 
    <c:set> 操作提供基于标记的机制来创建和设置限制了作用域的变量。其中 var 属性指定了限制了作用域的变量的名称,scope 属性表明了该变量驻留在哪个作用域中,value 属性指定了分配给该变量的值。如果指定变量已经存在,则简单地将所指明的值赋给它。如果不存在,则创建新的限制了作用域的变量,并用该值初始化这个变量。 
    scope 属性是可选的,其缺省值是 page。 
    例: 
    Java代码  收藏代码
    1. <c:set var="timezone" scope="session" value="CST"/>  
    2. <c:set var="square" value="${param['x'] * param['x']}"/>  


    循环 
    语法: 
    Java代码  收藏代码
    1. <c:forEach var="name" items="expression"   
    2. varStatus="name" begin="expression"   
    3. end="expression" step="expression">  
    4.          body content  
    5. </c:forEach>  
    说明: 
    begin 和 end 属性要么是静态整数值,要么是可以得出整数值的表达式。它们分别指定迭代索引的初始值以及迭代索引的终止值。当使用 <c:forEach> 在整数范围内进行迭代时,这两个属性是必需的,而其它所有属性都是可选的。 
    当出现 step 时,它也必须是整数值。它指定每次迭代后索引的增量。 
    如果指定了 var 属性,那么将会创建一个带有指定名称的并限定了作用域的变量,并将每次迭代的当前索引值赋给该变量。 
    items 属性的值应该是一个集合,对该集合的成员进行迭代,通常使用 EL 表达式指定值。 
    和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。 
    例: 
    Java代码  收藏代码
    1. <table>  
    2.   <c:forEach items=  
    3.     "${entryList}" var="blogEntry" varStatus="status">  
    4.     <tr><td align="left" class="blogTitle">  
    5.       <c:out value="${status.count}"/>.  
    6.       <c:out value="${blogEntry.title}" escapeXml="false"/>  
    7.     </td></tr>  
    8.     <tr><td align="left" class="blogText">  
    9.       <c:out value="${blogEntry.text}" escapeXml="false"/>  
    10.     </td></tr>  
    11.   </c:forEach>  
    12. </table>  


    If判断 
    语法: 
    Java代码  收藏代码
    1. <c:if test="expression" var="name" scope="scope">  
    2.         body content  
    3. </c:if>  
    说明: 
    测试表达式(test属性值)进行求值,接下来,仅当对表达式求出的值为 true 时,它才处理标记的主体内容 
    <c:if> 通过其 var 和 scope 属性(它们所起的作用和在 <c:set> 中所起的作用一样)选择将测试结果赋给限定了作用域的变量。 
    例: 
    Java代码  收藏代码
    1. <table>  
    2.   <c:forEach items=  
    3.     "${entryList}" var="blogEntry" varStatus="status">  
    4.     <c:if test="${status.first}">  
    5.       <tr><td align="left" class="blogDate">  
    6.             <c:out value="${blogEntry.created}"/>  
    7.       </td></tr>  
    8.     </c:if>  
    9.     <tr><td align="left" class="blogTitle">  
    10.       <c:out value="${blogEntry.title}" escapeXml="false"/>  
    11.     </td></tr>  
    12.     <tr><td align="left" class="blogText">  
    13.       <c:out value="${blogEntry.text}" escapeXml="false"/>  
    14.     </td></tr>  
    15.   </c:forEach>  
    16. </table>  


    Choose操作语法 
    语法: 
    Java代码  收藏代码
    1. <c:choose>  
    2.   <c:when test="expression">  
    3.     body content  
    4.   </c:when>  
    5.   ...  
    6.   <c:otherwise>  
    7.     body content  
    8.   </c:otherwise>  
    9. </c:choose>  
    说明: 
    每个要测试的条件都由相应的 <c:when> 标记来表示,至少要有一个 <c:when> 标记。只会处理第一个其 test 值为 true 的 <c:when> 标记体内的内容。如果没有一个 <c:when> 测试返回 true ,那么会处理 <c:otherwise> 标记的主体内容。 
    例: 
    Java代码  收藏代码
    1. <c:choose>  
    2.   <c:when test="${pageContext.request.scheme eq 'http'}">  
    3.     This is an insecure Web session.  
    4.   </c:when>  
    5.   <c:when test="${pageContext.request.scheme eq 'https'}">  
    6.     This is a secure Web session.  
    7.   </c:when>  
    8.   <c:otherwise>  
    9.     You are using an unrecognized Web protocol. How did this happen?!  
    10.   </c:otherwise>  
    11. </c:choose>  


    <c:url> 操作的语法 
    语法: 
    Java代码  收藏代码
    1. <c:url value="expression" context="expression" var="name" scope="scope">  
    2.   <c:param name="expression" value="expression"/>  
    3.   ...  
    4. </c:url>  
    说明: 
    <c:url> 标记,用于生成 URL。 
    value 属性用来指定基本 URL,然后在必要时标记对其进行转换。如果这个基本 URL 以一个斜杠开始,那么会在它前面加上 servlet 的上下文名称。可以使用 context 属性提供显式的上下文名称。如果省略该属性,那么就使用当前 servlet 上下文的名称。这一点特别有用,因为 servlet 上下文名称是在部署期间而不是开发期间决定的。(如果这个基本 URL 不是以斜杠开始的,那么就认为它是一个相对 URL,这时就不必添加上下文名称。) 
    如果通过嵌套 <c:param> 标记指定了任何请求参数,那么将会使用 HTTP GET 请求的标准表示法将它们的名称和值添加到生成的 URL 后面。此外,还进行 URL 编码:为了生成有效的 URL,将对这些参数的名称或值中出现的任何字符适当地进行转换。 
    例: 
    Java代码  收藏代码
    1. <a href="<c:url value='/content/sitemap.jsp'/>">View sitemap</a>  
    2. <c:url value="/content/search.jsp">  
    3.   <c:param name="keyword" value="${searchTerm}"/>  
    4.   <c:param name="month" value="02/2003"/>  
    5. </c:url>  


    <c:redirect> 操作的语法 
    语法: 
    Java代码  收藏代码
    1. <c:redirect url="expression" context="expression">  
    2.   <c:param name="expression" value="expression"/>  
    3.   ...  
    4. </c:redirect>  
    说明: 
    <c:redirect>用于向用户的浏览器发送 HTTP 重定向响应,它是 JSTL 中与 javax.servlet.http.HttpServletResponse 的 sendRedirect() 方法功能相当的标记。 
    例: 
    Java代码  收藏代码
    1. <c:catch var="exception">  
    2.   <c:import url="ftp://ftp.example.com/package/README"/>  
    3. </c:catch>  
    4. <c:if test="${not empty exception}">  
    5.   <c:redirect url="/errors/remote.jsp"/>  
    6. </c:if>  
  • 相关阅读:
    三元运算符
    使用DOSBox运行一个汇编语言程序
    System.err.println输出位置不唯一确定
    Jshell的简单了解
    使用cmd运行Notepad++编辑的java代码出现编码GBK的不可映射字符
    基于RCP的图书信息管理系统
    基于89C51的超声波测距
    Python下载歌曲
    JDBC(Java DataBase connection)Java数据库连接
    DevExpress 记录点滴 之 RepositoryItem
  • 原文地址:https://www.cnblogs.com/chenying99/p/2602598.html
Copyright © 2011-2022 走看看