`
lc52520
  • 浏览: 361408 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JSTL中的<c:标签【Z】

    博客分类:
  • java
 
阅读更多

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
分享到:
评论

相关推荐

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    ◎ JSTL的基本概念、安装与配置...◎ JSTL的通用标记:&lt;c:out&gt;、&lt;c:set&gt;、&lt;c:remove&gt;和&lt;c:catch&gt;标记 ◎ 条件处理标记:&lt;c:if&gt;、&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标记 ◎ 循环标记:&lt;c:forEach&gt;和&lt;c:forTokens&gt;标记

    JSTL中if标签使用方法

    &lt;c:if&gt; &lt;c:if&gt;的用途就和我们一般在程序中用的if一样。  语法  语法1:没有本体内容(body)  &lt;c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/&gt;  语法2:有本体内容  ...

    <c:forEach>/jstl-1.2

    &lt;c:forEach&gt; 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行&lt;c:forEach&gt;的本体内容。 语法 语法1:迭代一集合对象之所有成员 &lt;c:forEach [var="varName...

    JSTL开发使用手册

    &lt;c:catch&gt; 标签 用于判断的?&lt;c:if&gt; 标签 用于复杂判断的 &lt;c:choose&gt;?、 &lt;c:when&gt;?、 &lt;c:otherwise&gt;?标签? 用于循环的 &lt;c:forEach&gt;?标签 用于分隔字符的 &lt;c:forTokens&gt;?标签? 用于包含页面的 &lt;c:import&gt; 用于...

    JSTL标签大全

    核心标签库 http://java.sun.com/jstl/core c &lt;c:tagname…&gt; 国际化标签(I18N) http://java.sun.com/jstl/fmt fmt &lt;fmt:tagname…&gt; SQL标签库 ...

    JSTL详细标签库介绍

    最好在进行系统设计是就把异常处理融合在系统中,若系统一实现,就很难添加异常处理功能&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;16.2如何使用异常处理:&lt;BR&gt;&lt;BR&gt;在以下情况下使用异常处理:&lt;BR&gt;&lt;BR&gt;1、 当方法因无法控制的原因而不能实现其...

    JSTL标签-讲解及实例

    Core http://java.sun.com/jstl/core c &lt;c:tagname ...&gt; XML processing http://java.sun.com/jstl/xml x &lt;x:tagname ...&gt; I18N capable formatting http://java.sun.com/jstl/fmt fmt &lt;fmt:tagname ...&gt; ...

    基于工作任务的Java+Web应用教程第五章任务1-5.zip

    3.使用JSTL的&lt;c:forEach&gt;标签取代Category.isp和Produetjsp中的for循环语句。 (1)参考教材完成使用JSTL的&lt;c:forEach&gt;标签取代Category.jsp的for循环语句。 (2)自已完成使用JSTL的&lt;c:forEach&gt;标签取代Productjsp中的...

    struts_jstl

    inf/lib下即可(如只使用EL表达式,无需引用这两个包)&lt;br&gt;&lt;br&gt;2、在jsp页面头部引入taglib方法如下:&lt;br&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core " %&gt;&lt;br&gt; &lt;%@ taglib prefix="fmt" uri=...

    JSTL标签使用总结

    JSTL标签总结-&lt;c:if&gt;,&lt;c:choose&gt;,&lt;c:forEach&gt;,&lt;c:forTokens&gt;,&lt;c:catch&gt;,&lt;c:remove &gt;,&lt;c:set&gt;,&lt;c:import&gt;,&lt;c:redirect&gt;,&lt;c:url&gt;,&lt;fmt&gt;

    JSTL标签所需要的tld文件(c.tld、fmt.tld、fn.tld)

    几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解&lt;C:&gt;标签怎么用,其实&lt;fmt:&gt; &lt;fn:&gt;标签也非常好用和实用,找了好久才找到fmt.tld这个,现在无私的贡献出来。 另外,附上jstl-1.2.jar,要把这个放到项目的...

    java--c标签详解

    1.关键字:JSTL标签、&lt;c:choose&gt;、&lt;c:forEach&gt;、&lt;c:forTokens&gt;、&lt;c:if&gt;、&lt;c:import&gt;、&lt;c:otherwise&gt;、&lt;c:out&gt;、&lt;c:param&gt;、&lt;c:redirect&gt;、&lt;c:remove&gt;、&lt;c:url&gt;、&lt;c:when&gt;、&lt;c:set&gt;、&lt;c:catch&gt; 

    JSTL C.TLD 中文详解

    文章按照使用的频率分几个小节讲述JSTL常用标签的使用,比如&lt;C:SET&gt; &lt;C:OUT&gt; &lt;C:IF&gt; &lt;C:FOREEACH&gt;

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;标签 16.4.6、...

    jstl所需jar包.zip

    jstl标签可以代替&lt;%= %&gt;在jsp文件中书写java代码,jstl标签包括&lt;c:forEach&gt;&lt;c:forEach&gt;、&lt;c:if&gt;&lt;/c:if&gt;以及&lt;c:choose&gt;&lt;/c:choose&gt;等的使用,可以使java代码在jsp页面中更加规整。 使用jstl标签需要两个jar包

    java web 视频、电子书、源码(李兴华老师出版)

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;标签 16.4.6、...

    第8章 JSTL.ppt

    爱好:&lt;c:forEach items="${paramValues.Habit}" var="habit"&gt; ${habit} &lt;/c:forEach&gt; 如果字符串是由逗号分隔的一组值,forEach也支持将其分割 &lt;c:forEach items="Monday,Tuesday,Wednesday" var="week"&gt; ${...

    jstl核心标签库使用说明

    jstl相关的标签。如:&lt;c:if &gt;&lt;/c:if&gt;

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    16.3.5、重定向标签:&lt;logic:redirect&gt; 16.4、Html标签 16.4.1、&lt;html:form&gt;标签 16.4.2、&lt;html:text&gt;与&lt;html:password&gt;标签 16.4.3、&lt;html:radio&gt;标签 16.4.5、&lt;html:textarea&gt;...

Global site tag (gtag.js) - Google Analytics