`

JSTL笔记-c标签

 
阅读更多

aglib 伪指令 

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相关教程及笔记

    `JSTL笔记.txt`可能包含了学习者在实践中遇到的问题、解决方案以及一些实用技巧。这是一份宝贵的资源,可以作为学习JSTL的辅助材料。 总结,JSTL通过提供一系列标签和表达式语言,大大简化了JSP页面的编写,提高了...

    jstl标签学习笔记

    **JSTL标签详解** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP页面的编程,使得开发者能够使用标签而不是脚本来处理常见任务。在JSTL中,`EL(Expression Language)`是用于...

    jstl标签的笔记

    ### JSTL标签的核心知识点详解 #### 一、引言 JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,它为开发者提供了一系列的功能强大的标签,用于简化JSP页面的开发工作。JSTL标签库可以提高代码的...

    jstl资料笔记笔记笔记笔记

    根据提供的文件信息,本文将详细解析JSTL(JavaServer Pages Standard Tag Library)中的两个核心标签:`&lt;c:forEach&gt;` 和 `&lt;c:set&gt;` 的使用方法及其应用场景。 ### JSTL简介 JSTL(JavaServer Pages Standard Tag ...

    09_尚硅谷_EL表达式&JSTL标签库_王振国 - 课堂笔记.pdf

    在JSP页面中使用JSTL标签库,需要在页面顶部引入对应标签库的标签库声明,如`&lt;%@ taglib prefix="c" uri="***" %&gt;`,然后就可以在页面中使用`&lt;c:*&gt;`前缀的标签了。 **核心标签库中的常用标签:** - `&lt;c:out&gt;`:用于...

    el和jstl学习笔记.

    ### EL (Expression Language) 和 JSTL (JavaServer Pages Standard Tag Library) 学习笔记 #### 1. EL 表达式概述 - **EL 表达式的引入**:自 JSP 2.0 以来,EL 表达式成为官方规范的一部分,在 Servlet 2.4 及...

    JSTL学习笔记,对使用JSTL标签使用者非常有帮助

    **JSTL(JavaServer Pages Standard Tag Library)**是一个标准化的、开源的JSP标签库,旨在简化JSP页面的开发。它由Apache Jakarta小组维护,最初是为了减少JSP页面中自定义标签的重复定义而设计。JSTL 1.02是其...

    JSP小笔记--对于JSP的一个总结

    - **JSP 2.0**:带来了许多新特性,包括EL(Expression Language,表达式语言)和JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库),这些改进极大地提高了开发效率和代码的可维护性。 #### Web应用...

    JSTL.zip_web网页标签笔记

    **JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它提供了一系列的标签用于简化JSP开发,使代码更加简洁且易于维护。JSTL主要由四个核心部分组成:Core、XML、Internationalization ...

    JSTL In Action部分笔记

    以下是对标题“JSTL In Action部分笔记”和描述中提到的知识点的详细解释: 1. **&lt;c:out&gt;标签**: `&lt;c:out&gt;`标签用于在页面上输出指定的值。它有`value`和`defaultvalue`两个属性。`value`属性是必需的,用于指定...

    JSTL参考资料+学习笔记

    **JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便、高效的标签,用于处理常见的页面逻辑和控制流程,从而减少Java代码在JSP页面中的使用,提高代码...

    JSTL和EL完美笔记

    在压缩包中,`JSTL标签库.doc` 提供了关于JSTL各标签的详细解释,包括 `&lt;c:forEach&gt;` 迭代标签、`&lt;c:if&gt;` 和 `&lt;c:choose&gt;` 条件标签、`&lt;c:set&gt;` 变量设置等。这些标签的使用可以有效地将业务逻辑与视图分离,使JSP...

    jstl总结资料自己的学习笔记

    JSTL是JavaServer Pages标准标签库,它提供了一组预定义的标签,用于简化JSP页面的开发,使其更加结构化,可读性更强,同时也提高了代码的复用性和可维护性。JSTL主要包含五个核心组件:Core、XML、Format、I18N和...

    Ognl_JSTL_学习笔记.zip

    2. **JSTL核心标签**:掌握`c:if`、`c:choose`、`c:forEach`等控制结构,以及`fmt`库中的格式化标签。 3. **OGNL与EL的区别**:了解两者在数据绑定上的差异,EL(Expression Language)是JSP 2.0引入的标准,通常与...

    jstl 标签的jar tld 笔记 自己学习了 希望对你有帮助

    以下是一个简单的JSTL使用示例,展示如何使用`&lt;c:forEach&gt;`标签遍历数组: ```jsp &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; int[] numbers = {1, 2, 3, 4, 5}; pageContext....

    JSP期末考试题程序员笔记-20页.pdf

    11)给定的JSP代码使用了JSTL(JavaServer Pages Standard Tag Library)的条件标签`&lt;c:if&gt;`和`&lt;c:choose&gt;`。在这个例子中,如果counter的值为奇数,将会输出`it's an odd`,否则输出`it's an even`。由于counter...

    韩顺平老师所有课程笔记

    同时,"韩顺平.j2ee视频实战教程"系列文档可能涵盖了JSP的进阶内容,如EL表达式、JSTL标签库、自定义标签以及Servlet与JSP的交互。 Oracle数据库的学习则在笔记中占有一席之地,虽然具体细节未知,但通常会包含SQL...

    EL+JSTL的相关笔记

    ### EL+JSTL 相关笔记 #### JSP (JavaServer Pages) 概述 JSP 是一种基于 Java 的服务器端技术,用于创建动态 Web 应用程序。从用户的角度来看,JSP 就像普通的 HTML 文件一样,但在开发者的视角下,它实际上是一...

    JSTL学习笔记

    JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化JSP页面中的控制逻辑,使得代码更加简洁、可读性更强。JSTL通常与EL(Expression Language)一起使用...

    servlet,jsp,el,jstl,jms笔记pdf

    核心标签库提供条件(如`&lt;c:if&gt;`)、循环(如`&lt;c:forEach&gt;`)、URL处理(如`&lt;c:url&gt;`)等标签。 ### JMS技术 Java Message Service(JMS)是Java平台上关于面向消息中间件(MOM)的API,用于在两个应用程序之间,...

Global site tag (gtag.js) - Google Analytics