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 实体(此处提到的字符分别转换成 <、> 和 &)。
例:<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>
分享到:
相关推荐
`JSTL笔记.txt`可能包含了学习者在实践中遇到的问题、解决方案以及一些实用技巧。这是一份宝贵的资源,可以作为学习JSTL的辅助材料。 总结,JSTL通过提供一系列标签和表达式语言,大大简化了JSP页面的编写,提高了...
**JSTL标签详解** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP页面的编程,使得开发者能够使用标签而不是脚本来处理常见任务。在JSTL中,`EL(Expression Language)`是用于...
根据提供的文件信息,本文将详细解析JSTL(JavaServer Pages Standard Tag Library)中的两个核心标签:`<c:forEach>` 和 `<c:set>` 的使用方法及其应用场景。 ### JSTL简介 JSTL(JavaServer Pages Standard Tag ...
### JSTL标签的核心知识点详解 #### 一、引言 JSTL(JavaServer Pages Standard Tag Library)是一组标准标签库,它为开发者提供了一系列的功能强大的标签,用于简化JSP页面的开发工作。JSTL标签库可以提高代码的...
**JSTL(JavaServer Pages Standard Tag Library)**是一个标准化的、开源的JSP标签库,旨在简化JSP页面的开发。它由Apache Jakarta小组维护,最初是为了减少JSP页面中自定义标签的重复定义而设计。JSTL 1.02是其...
**JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它提供了一系列的标签用于简化JSP开发,使代码更加简洁且易于维护。JSTL主要由四个核心部分组成:Core、XML、Internationalization ...
### EL (Expression Language) 和 JSTL (JavaServer Pages Standard Tag Library) 学习笔记 #### 1. EL 表达式概述 - **EL 表达式的引入**:自 JSP 2.0 以来,EL 表达式成为官方规范的一部分,在 Servlet 2.4 及...
在压缩包中,`JSTL标签库.doc` 提供了关于JSTL各标签的详细解释,包括 `<c:forEach>` 迭代标签、`<c:if>` 和 `<c:choose>` 条件标签、`<c:set>` 变量设置等。这些标签的使用可以有效地将业务逻辑与视图分离,使JSP...
以下是对标题“JSTL In Action部分笔记”和描述中提到的知识点的详细解释: 1. **<c:out>标签**: `<c:out>`标签用于在页面上输出指定的值。它有`value`和`defaultvalue`两个属性。`value`属性是必需的,用于指定...
以下是一个简单的JSTL使用示例,展示如何使用`<c:forEach>`标签遍历数组: ```jsp <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> int[] numbers = {1, 2, 3, 4, 5}; pageContext....
2. **JSTL核心标签**:掌握`c:if`、`c:choose`、`c:forEach`等控制结构,以及`fmt`库中的格式化标签。 3. **OGNL与EL的区别**:了解两者在数据绑定上的差异,EL(Expression Language)是JSP 2.0引入的标准,通常与...
JSTL是JavaServer Pages标准标签库,它提供了一组预定义的标签,用于简化JSP页面的开发,使其更加结构化,可读性更强,同时也提高了代码的复用性和可维护性。JSTL主要包含五个核心组件:Core、XML、Format、I18N和...
**JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便、高效的标签,用于处理常见的页面逻辑和控制流程,从而减少Java代码在JSP页面中的使用,提高代码...
在JSP页面中使用JSTL标签库,需要在页面顶部引入对应标签库的标签库声明,如`<%@ taglib prefix="c" uri="***" %>`,然后就可以在页面中使用`<c:*>`前缀的标签了。 **核心标签库中的常用标签:** - `<c:out>`:用于...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化JSP页面中的控制逻辑,使得代码更加简洁、可读性更强。JSTL通常与EL(Expression Language)一起使用...
### EL+JSTL 相关笔记 #### JSP (JavaServer Pages) 概述 JSP 是一种基于 Java 的服务器端技术,用于创建动态 Web 应用程序。从用户的角度来看,JSP 就像普通的 HTML 文件一样,但在开发者的视角下,它实际上是一...
同时,"韩顺平.j2ee视频实战教程"系列文档可能涵盖了JSP的进阶内容,如EL表达式、JSTL标签库、自定义标签以及Servlet与JSP的交互。 Oracle数据库的学习则在笔记中占有一席之地,虽然具体细节未知,但通常会包含SQL...
核心标签库提供条件(如`<c:if>`)、循环(如`<c:forEach>`)、URL处理(如`<c:url>`)等标签。 ### JMS技术 Java Message Service(JMS)是Java平台上关于面向消息中间件(MOM)的API,用于在两个应用程序之间,...
4. **笔记**:可能是作者在学习过程中整理的要点和难点,包括理解EL和JSTL的关键点、常见问题及解决方案。 5. **代码**:可能包含示例代码,演示了EL和JSTL的用法,这些代码可以作为学习者参考和实践的模板。 通过...
JSP笔记.doc: JSP(JavaServer Pages)是用于动态网页开发的技术,这份笔记可能包含JSP语法、EL(Expression Language)、JSTL(JavaServer Pages Standard Tag Library)、页面生命周期及自定义标签等内容,对于...