`
lc52520
  • 浏览: 369027 次
  • 性别: 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-1.2和standard-1.1.2.jar

    3. **考虑安全性**:在使用JSTL的`&lt;c:out&gt;`标签时,注意其默认的安全特性,避免潜在的XSS攻击。 4. **保持代码可维护**:使用JSTL标签可以使代码更易读,但也应注意不要过度使用,导致页面过于复杂。 总的来说,...

    jstl-1.2.zip_JSTL_JSTL下载_R88S_jstl1.2_process37z

    例如,我们可以使用JSTL Core标签库中的`&lt;c:forEach&gt;`标签来遍历集合: ```jsp &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; ... &lt;c:forEach items="${list}" var="item"&gt; &lt;p&gt;${item.name}&lt;/...

    直接截取jstl长度控制字符串长短

    其中,`&lt;fn:substring&gt;`是JSTL中的一个非常实用的标签,用于截取字符串的指定部分。该标签通过指定起始位置和结束位置来截取字符串,从而实现对字符串长度的控制。 #### ${fn:substring(名称,0,23)} 此表达式表示...

    JSTL需要的jar包.7z

    JavaServer Pages Standard Tag Library(JSTL)是Java Web开发中的一个重要组成部分,它提供了一组预定义的标签,用于简化JSP页面中的业务逻辑和控制流。JSTL的使用可以减少Java代码在JSP页面上的出现,提高代码的...

    JSP 动态数据菜单.7z

    - JSTL提供了一系列标签库,如Core库中的`&lt;c:forEach&gt;`、`&lt;c:if&gt;`等,用于控制流程、条件判断和数据操作。 6. **优化与最佳实践** - 为了避免过多的Java代码出现在JSP页面中,通常提倡使用Servlet作为控制器,JSP...

    taglibs-standard-1.2.5.7z

    Taglibs 和 JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中不可或缺的部分,它们极大地简化了页面逻辑和视图层的实现。`taglibs-standard-1.2.5.7z`是一个压缩包,包含了Taglibs标准库的一个特定...

    表单验证及总结

    例如,使用`&lt;c:if&gt;`标签进行条件判断,`&lt;c:out&gt;`显示数据,`&lt;c:catch&gt;`捕获异常,以及使用`&lt;form:errors&gt;`显示验证错误信息。 四、“常用验证总结.txt”中的要点 1. 基本输入类型验证:如文本、密码、电子邮件等,...

    JSPDemo.7z

    JSTL包括核心标签、XML标签、JDBC标签、函数标签等,如`&lt;c:forEach&gt;`用于遍历集合,`&lt;fmt:formatDate&gt;`用于格式化日期。 5. **EL(Expression Language)**:EL是一种轻量级的脚本语言,用于访问JavaBeans属性和JSP...

    JAVA_EE_api.7z

    JSP标签库(JSTL)提供了一组标准标签,如`&lt;c:forEach&gt;`、`&lt;fmt:formatDate&gt;`等,简化了页面逻辑。 3. **JavaServer Faces (JSF)**:JSF是一个用于构建用户界面的MVC框架,提供了组件模型和事件驱动模型,简化了Web...

    JavaWeb程序设计入门课件JSP指令共5页.pdf.z

    &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; ``` 在学习JSP指令时,开发者需要掌握每种指令的用途、语法和使用场景。例如,`pageEncoding`确保页面编码的一致性,防止乱码问题;`import`...

    jsp认证题库

    - **应用场景:** 当开发人员需要在JSP页面中使用JSTL等标签库的功能时,会在JSP页面顶部使用`&lt;%@ taglib %&gt;`指令来声明所需的标签库。 **3. Servlet处理请求方式** - **知识点:** Servlet处理请求的方式是以线程...

    D:\books-technology\java\javaweb 1200\java web开发实战1200例 第二卷 源码.7z

    3. **JSTL(JavaServer Pages Standard Tag Library)**:JSTL是一组标准的标签库,用于简化JSP页面中的业务逻辑,提高可读性和可维护性。常见的有fmt、fn、sql、c等核心标签库。 4. **EL(Expression Language)**...

    CHM文檔(多年收集超級全).7z

    7. **core JSTL.chm**:JSTL(JavaServer Pages Standard Tag Library)是Java服务器端的一组标准标签库,用于简化JSP开发。这个文档可能详细解释了如何使用JSTL核心标签。 8. **DHTML, HTML & CSS.CHM**:DHTML...

    java ssm相关jar包

    Standard库是JSTL的一部分,它包含了基本的JSP标签,如c标签库(条件和迭代)、fmt标签库(格式化输出)等。 在"lib"这个压缩包文件中,我们可能会找到以下这些关键的jar包: 1. spring相关的jar:如spring-...

    javase相关知识点

    4. JSTL 标签:fmt(格式化标签),c(控制结构标签),fn(函数标签),sql(SQL标签),xml(XML标签)。 5. JSP截取字符串:使用c:out配合fmt:formatString进行截取。 【框架知识】 1. Spring AOP:面向切面...

    SchoolNaviServer:校园导游后台

    #####1.1提供了jsp页面继承标签,&lt;z&gt;和&lt;z&gt;两个自定义标签 在WEB-INF/views目录新建jsp页面public/base.jsp,内容如下 &lt;&#37;@ page language="java" pageEncoding="UTF-8"%&gt; &lt;&#37;@ taglib uri=...

    zframe-ssi:【已停止维护,仅供学习】基于Spring MVC + Spring + Mybatis整合的快速开发框架

    #####1.1提供了jsp页面继承标签,&lt;z&gt;和&lt;z&gt;两个自定义标签 在WEB-INF/views目录新建jsp页面public/base.jsp,内容如下 &lt;&#37;@ page language="java" pageEncoding="UTF-8"%&gt; &lt;&#37;@ taglib uri=...

    学习JAVA的一些心得

    使用JSTL作为模板,学习JSP标签库(JSPTagLib)、核心标签(如if、loop)和功能标签(如处理字符串、格式化等)。Session和Cookie是Web开发中用户状态管理的关键概念,通过Cookie记录用户状态和使用Session跟踪用户...

Global site tag (gtag.js) - Google Analytics