`
kdboy
  • 浏览: 761399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSTL笔记—c标签

阅读更多
Taglib 伪指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>


输出<c:out>
语法:
<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;)。
例:
<c:out value="${user.company}" escapeXml=="false"/>


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


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


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


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


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


<c:redirect> 操作的语法
语法:
<c:redirect url="expression" context="expression">
  <c:param name="expression" value="expression"/>
  ...
</c:redirect>
说明:
<c:redirect>用于向用户的浏览器发送 HTTP 重定向响应,它是 JSTL 中与 javax.servlet.http.HttpServletResponse 的 sendRedirect() 方法功能相当的标记。
例:
<c:catch var="exception">
  <c:import url="ftp://ftp.example.com/package/README"/>
</c:catch>
<c:if test="${not empty exception}">
  <c:redirect url="/errors/remote.jsp"/>
</c:if>
10
0
分享到:
评论

相关推荐

    jstl相关教程及笔记

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

    jstl标签学习笔记

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

    jstl资料笔记笔记笔记笔记

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

    jstl标签的笔记

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

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

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

    JSTL.zip_web网页标签笔记

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

    el和jstl学习笔记.

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

    JSTL和EL完美笔记

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

    JSTL In Action部分笔记

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

    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....

    Ognl_JSTL_学习笔记.zip

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

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

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

    JSTL参考资料+学习笔记

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

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

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

    JSTL学习笔记

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

    EL+JSTL的相关笔记

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

    韩顺平老师所有课程笔记

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

    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,用于在两个应用程序之间,...

    day17_EL&JSTL.rar

    4. **笔记**:可能是作者在学习过程中整理的要点和难点,包括理解EL和JSTL的关键点、常见问题及解决方案。 5. **代码**:可能包含示例代码,演示了EL和JSTL的用法,这些代码可以作为学习者参考和实践的模板。 通过...

    软件工程师学习笔记大全(C++ JAVA)

    JSP笔记.doc: JSP(JavaServer Pages)是用于动态网页开发的技术,这份笔记可能包含JSP语法、EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)、页面生命周期及自定义标签等内容,对于...

Global site tag (gtag.js) - Google Analytics