JSTL语法及参数
作者 胡祥春
JSTL语法及参数
JSTL包含以下的标签:
常用的标签:如<c:out>、<c:remove>、<c:catch>、<c:set>等
条件标签:如<c:if><c:when>、<c:choose>、<c:otherwise>等
URL标签:如<c:import>、<c:redirect>和<c:url>等
XML标签:如<xml:out>等
国际化输出标签:如<fmt:timeZone>等
SQL标签:如<sql:query>、<sql:update>、<sql:transaction>等
一般用途的标签:
1.<c:out>
没有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>
有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”]>
这里是Body部分
</c:out>
名字 类型 描述
value Object 将要输出的表达式
escapeXml boolean 确定以下字符:<,>,&,’,”在字符串中是否被除数,默认为true
default Object 如果vaule计算后的结果是null,那么输出这个默认值
2.<c:set>
这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于<%request.setAttrbute(“name”,”value”);%>
语法1:使用value属性设定一个特定范围中的属性。
<c:set value=”value” var=”varName” [scope=”{page|request|session|application}”]/>
语法2:使用value属性设定一个特定范围中的属性,并带有一个Body。
<c:set var=”varName” [scope=”{page|request|session|application}”]>
Body部分
</c:set>
语法3:设置某个特定对象的一个属性。
<c:set value=”value” target=”target” property=”propertyName”/>
语法4:设置某个特定对象的一个属性,并带有一个Body。
<c:set target=”target” property=”propertyName”>
Body部分
</c:set>
名字 类型 描述
value Object 将要计算的表到式。
var String 用于表示value 值的属性,如果要在其他标签中使用,就是通过这 个var指定的值来进行的。它相当于在标签定义了一个变量,并且这个变量只能在标签中的一个。
scope String var的有效范围,可以是page|request|session|application中的一个
target String 将要设置属性的对象,它必须是javabean或则java.util.Map对象
property Object 待设定的Target对象中的属性名字,比如在javabean中有个name属性,提供了setUserId方法,那么这里填userId。
3.<c:remove>
<c:remove var=”varName” [scope=”{page|request|session|application}”]/>
4.<c:catch>
这个标签相当于捕获在它里边的标签抛出的异常对象
<c:catch [var=”varName”]> //var是异常的名字
内容
</c:catch>
条件标签
1. <c:if>
语法1:无Body情况
<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]/>
语法2:有Body的情况
<c:if test=”testCondition” var=”varName” [scope=”page|request|session|application”]>
Body内容
</c:if>
名字 类型 描述
test Boolean 表达式的条件,相当于if()中的条件判断语句。
var String 表示这个语句的名字。
scope String var这个变量的作用范围。
2.<c:choose>
语法:<c:choose>
Body内容(<c:when>和<c:otherwise>子标签)
</c:choose>
注意:它的Body只能由以下元素组成:
1) 空格
2) 0或多个<c:when>子标签,<c:when>必须在<c:otherwise>标签之前出现.
3) 0个或多个<c:otherwise>子标签。
3.<c:when>
代表的是<c:choose>的一个条件分支,只能在<c:choose>中使用
语法:<c:when test=”testCondition”> //test是boolean类型,用于判断条件真假
Body语句
</c:when>
4.<c:otherwise>
代表的是<c:choose>中的最后选择。必须在最后出现
<c:otherwise>
内容
</c:otherwise>
迭代标签
1.<c:forEach>
语法1:在Collection中迭代
<c:forEach[var=”varName”] items=”collection” [varStatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]
Body内容
</c:foeEach>
语法2:迭代固定的次数.
<c:forEach [var=”varName”] [varStatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]
Body内容
</c:foeEach>
名字 类型 描述
var String 迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。
Items Collection、ArrayList、 要迭代的items集合.
Iterator、Map、String、
Eunmeration等
VarStatus String 表示迭代的状态,可以访问迭代自身的信息
Begin int 表示开始迭代的位置。
End int 表示结束迭代的位置。
Step int 表示迭代移动的步长,默认为1。
URL相关的标签
1.<c:import>
语法1:资源的内容使用String对象向外暴露
<c:import url=”url” [context=”context”]
[var=”varName”] [scope=”{page|request|session|application}”] [charEncoding=”charEncoding”]>
内容
</c:import>
语法2:资源的内容使用Reader对象向外暴露。
<c:import url=”url” [context=”context”]
varReader=”varReaderName” [charEncoding=”charEncoding”]>
内容
</c:import>
名字 类型 描述
url String 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字。
var String 参数的名字。
scope String var参数的作用范围。
cahrEncoding String 输入资源的字符编码。
varReader String 这个参数的类型是Reader,用于读取资源。
2.<c:redirct>
语法1:没有Body的情况.
<c:redirect url=”value” [context=”context”]/>
语法2:有Body情况下,在Body中指定查询的参数
<c:redirect url=”value” [context=”context”]>
<c:param name=”name” value=”value”/>
</c:redirect>
3.<c:url>
语法1:没有Body
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]/>
语法2:有Body
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]>
<c:param name=”name” value=”value”/>
</c:url>
名字 类型 描述
value String URL值
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字
var String 标识这个URL标量。
Scope String 变量作用范围。
SQL相关的标签
1.<sql:setDataSource>
2.<sql:query>
3.<sql:update>
4.<transaction>
5.<param>
分享到:
相关推荐
### JSTL 语法及参数标签详解 #### 一、条件标签 JSTL(JavaServer Pages Standard Tag Library)提供了一系列强大的标签库来简化Web应用的开发过程。其中,条件标签是开发者在处理动态页面时不可或缺的一部分。 ...
### JSTL语法及参数详解:10分钟学会JSTL JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的工具库,它提供了一系列预定义的标签来简化页面的开发过程,提高代码的可读性和可维护性。通过...
JSTL的语法简单明了,易于理解和使用。 ### **常用标签** 1. **`<c:out>`**: 用于输出数据。它有两个主要的属性:`value`和`default`。`value`属性指定要输出的表达式,`default`用于当`value`为空或`null`时提供...
**JSTL(JavaServer Pages Standard Tag Library)是Java服务器端的一个标准标签库,它提供了一...通过学习提供的`jstl语法.ppt`课件,开发者将进一步了解这些标签的详细用法和实战技巧,从而更好地运用到项目开发中。
**JSTL(JavaServer Pages Standard Tag Library)学习大全** JSTL是JavaWeb开发中的一个强大工具,它提供了一套标准的标签库,用于简化HTML或XML页面上的JavaServer Pages(JSP)代码。本资源集合包含了丰富的JSTL...
本教程将详细介绍JSTL中的一些常见语法和用法。 ### 1. JSTL 循环标签 `<c:forEach>` `<c:forEach>` 标签用于遍历集合或数组,例如在给定的示例中,它用于循环遍历`${trains}`变量中的元素: ```jsp ${trains}" ...
### JSTL自帶語法:格式化與處理EL傳遞的參數 JSTL(JavaServer Pages Standard Tag Library)是一套標準化的標籤庫,可用於增強JavaServer Pages應用程序的功能性與易讀性。在JSP頁面中使用JSTL可以讓開發者以更簡...
- EL 可以直接在 JSTL 标签中使用,例如 `${}` 语法。 7. **优点** - 提高代码可读性:JSTL 标签比 JSP 脚本更直观,便于理解。 - 分离关注点:JSTL 有助于实现 MVC 设计模式,将业务逻辑从视图层分离。 - 更少...
1. **核心标签库(core)**:`开头的一系列标签,如`<c:forEach>`用于遍历集合,`<c:if>`和`<c:choose>`用于条件判断,`<c:url>`和`<c:param>`处理URL参数。 - `<c:forEach>`示例: ```jsp ${list}" var="item">...
JSTL,全称为JavaServer Pages Standard Tag Library,是Java EE平台中一个用于简化JSP开发的标签库,它提供了一系列预定义的标签,使得开发者可以通过XML语法在JSP页面中处理常见任务,如控制流程、数据操作、I/O...
- **Web应用部署配置**:在你的`web.xml`配置文件中,确认已添加了必要的JSTL初始化参数,例如: ```xml <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld ...
在Java Web项目中使用JSTL,通常需要在`web.xml`配置文件中添加JSTL的Servlet上下文参数,并将`jstl-impl-1.2.jar` 和 `jstl-api-1.2.jar` 添加到项目的类路径中。在JSP页面上,使用`<%@ taglib %>`指令导入相应的...
EL提供了一系列内建对象,如`param`和`paramValues`,用于访问请求参数,使得数据访问更为便捷。 综上所述,JSTL及其内置的EL表达式语言,为JSP开发者提供了一套强大而灵活的工具,极大地提高了Web应用的开发效率和...
JSTL提供了一系列标签,使得开发者可以使用类似于HTML的标签语法进行JSP页面开发,而不是嵌入复杂的Java代码。 ### JSTL的优势 1. **可读性**:JSTL将业务逻辑与页面展示分离,使得代码更易于阅读和理解。对比传统...
通过合理使用JSTL标签库,开发者可以避免在JSP页面中编写过多的Java脚本,而EL则提供了简洁的语法来访问和操作数据。结合`jstl-1.2.jar`和`standard-1.1.2.jar`这两个核心包,可以充分利用JSTL提供的功能,构建高效...
jstl forEach 标签有两种语法: ### 语法 1:迭代一集合对象之所有成员 ``` [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 本体内容 ``` ### ...
- JSTL不支持所有的Java语法,对于复杂的逻辑,可能需要配合JavaBean或Servlet处理。 总之,JSTL 1.2是Java Web开发者的重要工具之一,它提供了一套强大的标签集,帮助开发者编写简洁、清晰的JSP页面,提高开发...
- 标签参数的配置及意义 - 如何结合EL进行数据处理 - 在实际项目中的应用示例 - 注意的安全问题,特别是与SQL相关的标签 通过学习这份文档,开发者不仅可以掌握JSTL的基本操作,还能提升在JSP开发中的效率,为构建...