JSTL中<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
的标签使用
利用<x:forEach>
标签遍历XML文档
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Index2.jsp</title>
</head>
<body>
<h3>Books Info:</h3>
<c:set var="xmltext">
<books>
<book>
<name id="002">Padam History</name>
<author>ZARA</author>
<price>100</price>
</book>
<book>
<name id="001">Great Mistry</name>
<author>NUHA</author>
<price>2000</price>
</book>
</books>
</c:set>
或者:<c:import var="xtest" url="http://localhost:8080/ztest/books.xml" />
<x:parse xml="${xmltext}" var="output"/>
<ul>
<x:forEach select="$output/books/book" var="item" varStatus="i">
<li>
${i.index }--
<x:out select="$item/name" />--
<x:out select="$item/name/@id" />--
<x:out select="$item/author" />--
<x:out select="$item/price" />
</li>
</x:forEach>
</ul>
</body>
</html>
结果如下图:
注意:解析name中的id用的是@id
附上表
属性
描述
Required
Default
select
|
XPath表达式来进行评估(计算)
|
Yes
|
None
|
var
|
每个循环的变量的名称存储在当前项目
|
No
|
None
|
begin
|
用于迭代的起始索引
|
No
|
None
|
end
|
迭代的结束索引
|
No
|
None
|
step
|
索引递增的大小,在集合进行迭代
|
No
|
None
|
varStatus
|
迭代的状态被存储在其中的变量的名称
|
No
|
None
|
- 大小: 9.7 KB
分享到:
相关推荐
1. `<c:forEach>`:用于遍历集合、数组或迭代对象,实现循环操作。 2. `<c:forTokens>`:对字符串进行分割,然后对每个分割出来的元素进行循环处理。 **使用JSTL的好处**: - 提高代码的可读性:通过使用XML样式的...
在使用JSTL时,需要引入对应的JAR文件,例如`jstl.jar`和`standard.jar`,并在JSP页面中通过`<%@ taglib %> `指令导入相应的标签库。例如,导入核心库可以写为: ```jsp <%@ taglib prefix="c" uri=...
- **XML 标签库**(xml):处理XML文档,如`<x:forEach>`。 - **函数标签库**(fn):提供一些实用的函数,如`<fn:split>`。 **3. 核心标签库的其他功能** - **流程控制标签**:`<c:if>`、`<c:choose>`、`<c:when...
`<c:forEach>`标签用于循环遍历集合或其他可迭代数据结构。其有两种主要的用法: - **遍历集合**: ```xml <c:forEach items="collection" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end=...
- **<c:forEach>**:循环遍历集合。 - **<c:set>**:设置变量。 - **<c:out>**:输出变量或表达式,防止XSS攻击。 - **<c:remove>**:删除一个变量。 **4. JSTL FMT标签** - **<fmt:formatDate>**:格式化日期。 - ...
例如`<c:if>`用于条件判断,`<c:forEach>`用于遍历集合,`<c:choose>`、`<c:when>`和`<c:otherwise>`用于多分支选择。 2. **Format/International化标签库 (fmt)**:提供了处理日期、时间、数字格式化以及国际化和...
例如,`<c:if>`用于条件判断,`<c:forEach>`用于遍历集合,`<c:set>`用于设置变量,`<c:choose>`、`<c:when>`和`<c:otherwise>`则用于构建多分支结构。这些标签使得JSP页面更像声明式编程,减少了脚本代码,提高了...
异常信息:<c:out value="${error.message}"></c:out> ``` 这里捕获了一个除零错误,并将其信息存储在变量`error`中。 #### 条件控制语句:实现逻辑判断与分支 1. **`<c:if>`**:基于条件的分支。例如,`<c:if ...
- **XML标签库**: 用于XML文档的操作,包括解析、转换和输出,如`<x:parse>`和`<x:out>`。 2. **使用JSTL的优势** - **提高可读性**: JSTL标签使代码更易于理解和维护,因为它将逻辑从视图层分离出来。 - **增强...
下面是一个简单的JSTL示例,展示如何使用`<c:forEach>`标签遍历数组: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String[] fruits = {"苹果", "香蕉", "橙子"}; %> <c:forEach...
1. **XML标签库**:`<x:parse>`解析XML文档,`<x:transform>`进行XSLT转换。 2. **XPath支持**:JSTL的`xml`库提供了对XPath的支持,允许开发者通过XPath表达式访问XML节点。 五、JSTL的SQL操作 1. **SQL标签库**...
- `<c:forEach>` 用于循环遍历集合。 - `<c:set>` 用于设置变量。 - `<c:out>` 用于安全地输出数据,防止XSS攻击。 - `<c:redirect>` 和 `<c:url>` 用于URL重定向和构建。 2. **XML库**:这个库提供了处理XML...
例如,`<c:forEach>`用于遍历集合或数组,`<c:if>`和`<c:choose>`用于执行条件判断,`<c:url>`和`<c:param>`用于构建URL和传递参数,`<c:set>`用于设置变量等。 在JSP页面中,JSTL的使用通常会替代大量的脚本元素,...
2. **XML标签库**:该库允许在JSP中方便地处理XML文档,提供了解析、转换和操作XML的标签,如`<x:parse>`、`<x:transform>`、`<x:out>`等。通过这些标签,开发者可以轻松地在JSP中处理XML数据,而无需编写复杂的Java...
- `<x:transform>`:使用XSLT转换XML文档。 **3. SQL标签库(SQL Tags)** JSTL的SQL标签库允许在JSP页面中执行SQL查询,如: - `<sql:update>`:执行更新、插入或删除操作。 - `<sql:query>`:执行查询并获取结果...
- **XML(XML处理标签库)**:处理XML文档的相关操作。 - **Functions(函数库)**:提供了一些常用的函数,以增强EL(Expression Language)的功能。 2. **Core(核心标签库)** - **`<c:out>`**:用于输出变量...
以上只是JSTL核心标签库的一部分功能,实际应用中还有更多标签,如循环标签`<c:forEach>`、迭代标签`<c:forTokens>`等。这些标签在处理数据、控制流程等方面提供了极大的便利,使得JSP页面更加简洁、易读,也更符合...
- **<c:forEach>**:可以用来遍历XML文档中的节点。 - **<x:parse>**:用于解析XML文档并将其转换为DOM树。 - **<x:out>**:输出XML节点的值。 #### 九、数据库访问标签 - **<sql:query>**:执行SQL查询语句并返回...
主要包括`<c:out>`、`<c:set>`、`<c:remove>`、`<c:catch>`、`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`、`<c:forEach>`、`<c:forTokens>`、`<c:import>`、`<c:url>`和`<c:redirect>`等标签。这些标签...
XML标签库**:这个库提供了处理XML文档的标签,如`<x:parse>`用于解析XML字符串,`<x:out>`用于显示XML内容,以及`<x:transform>`用于XSLT转换。 **3. JDBC标签库**:该库简化了数据库操作,通过`<sql:query>`、`...