`
wen866595
  • 浏览: 268948 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSTL XML 学习备忘

    博客分类:
  • java
阅读更多

把三个文件放在同一目录下。


JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<!-- import的url是相对于当前jsp文件所在的路径的 -->
	<c:import url="users.xml" var="xml" />
	<c:import url="xslt.xsl" var="xslt" />

	<x:parse xml="${xml }" var="users" />
	
	使用c:set 设置字符串字面量<br/>
	<c:set var="stringletral" value="string letral value" />
	字符串字面量:<x:out select="$stringletral"/><br/>
	<br/>
	使用c:set 设置XML节点集<br/>
	<c:set var="nodeSet" value="${users }"/>
	用户总数:<x:out select="count($nodeSet//user)"/><br/><br/>
	
	迭代输出前两个(根据节点的位置过滤):<br/>
	<x:forEach select="$users//user[position() < 3]" var="user">
		姓名:<font color="red" ><x:out select="name"/></font>;姓名长度:<x:out select="string-length(name)" /><br/>
		ID:<x:out select="id"/><br/>
		desc:<x:out select="desc"/><br/>
		schoole:<x:out select="schoole"/><br/>
		age:<x:out select="age"/><br/>
		<x:out select="position()"/>
		<br/>
	</x:forEach>
	
	<font color="red">
	刷选年龄小于26岁的(根据属性过滤):<br/>
	<x:forEach select="$users//user[age < '26']" var="user">
		姓名:<x:out select="./name"/><br/>
		ID:<x:out select="./id"/><br/>
		desc:<x:out select="./desc"/><br/>
		schoole:<x:out select="./schoole"/><br/>
		age:<x:out select="./age"/><br/>
		<br/>
	</x:forEach>
	</font>
	<br/><br/>
	
	样式转换:<br/>
	<x:transform xml="${xml }" xslt="${xslt }" />
	<br/><br/>
</body>
</html>



users.xml 数据文件:
<?xml version="1.0" encoding="UTF-8"?>
<users>
	<user>
		<name>liuwh</name>
		<id>123456</id>
		<desc>super</desc>
		<schoole>gdut.edu.cn</schoole>
		<age>26</age>
	</user>
	<user>
		<name>wangxiaowei</name>
		<id>234567</id>
		<desc>good man</desc>
		<schoole>moyang.edu.cn</schoole>
		<age>26</age>
	</user>
	<user>
		<name>zouyubin</name>
		<id>345678</id>
		<desc>man</desc>
		<schoole>hunan.edu.cn</schoole>
		<age>25</age>
	</user>
	<user>
		<name>tanqing</name>
		<id>456789</id>
		<desc>womman</desc>
		<schoole>scut.edu.cn</schoole>
		<age>26</age>
	</user>
	<user>
		<name>jingli</name>
		<id>567890</id>
		<desc>super man</desc>
		<schoole>haiyang.edu.cn</schoole>
		<age>27</age>
	</user>
</users>



样式转换的文件:xslt.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
	version="1.0" >

	<xsl:template match='/'>
		<table border='1'>
			<tr>
				<th>index</th>
				<th>name</th>
				<th>id</th>
				<th>desc</th>
				<th>schoole</th>
				<th>age</th>
			</tr>
			<xsl:call-template name="outUser">
				<xsl:with-param name="users" select="users" />
			</xsl:call-template>
		</table>
	</xsl:template>

	<xsl:template name="outUser">
		<xsl:param name="users" />
		
		<xsl:for-each select="$users/user">
			<tr>
				<td><xsl:value-of select="position()" /></td>
				
				<xsl:choose>
					<xsl:when test="position() mod 2 = 0">
						<td><font color="red"><xsl:value-of select="name" /></font></td>
					</xsl:when>
					<xsl:otherwise>
						<td><xsl:value-of select="name" /></td>
					</xsl:otherwise>
				</xsl:choose>
				
				<td><xsl:value-of select="id" /></td>
				<td><xsl:value-of select="desc" /></td>
				<td><xsl:value-of select="schoole" /></td>
				<td><xsl:value-of select="age" /></td>
			</tr>
		</xsl:for-each>
	</xsl:template>

</xsl:stylesheet>








分享到:
评论

相关推荐

    JSTL操作XML JSTL操作XML

    通过本实验的学习,我们不仅掌握了如何使用JSTL操作XML的基本方法,还学会了如何将XML作为配置文件使用,并在JSP中利用JSTL来读取配置文件以实现数据库连接。这种方式大大提高了Web应用程序的灵活性和可维护性。此外...

    JSTL XML标签库

    **JSTL XML标签库详解** JavaServer Pages Standard Tag Library(JSTL)是一个用于简化JSP开发的标签库,它包含多个核心功能模块,其中之一就是处理XML的XML标签库。这个库允许开发者在JSP页面中以声明式的方式...

    JSTL示例代码,x,xml,sql,fmt

    2. **XML处理标签库(xml)**:JSTL的xml库提供了处理XML文档的能力,如解析、转换和输出XML数据。`&lt;x:parse&gt;`可以将XML字符串解析为DOM对象,`&lt;x:out&gt;`用于安全地输出XML内容,防止XSS攻击,`&lt;x:transform&gt;`则可以...

    jstl使用xml出错

    本文将深入探讨“jstl使用xml出错”这一问题,以及如何解决相关问题。 首先,要正确使用JSTL处理XML,你需要确保在项目中包含三个关键的JAR文件: 1. **xalan.jar**:这个文件包含了XSLT处理器,用于将XML转换为...

    jstl学习大全,jstl源码,很全的jstl学习代码

    **JSTL(JavaServer Pages Standard Tag Library)学习大全** JSTL是JavaWeb开发中的一个强大工具,它提供了一套标准的标签库,用于简化HTML或XML页面上的JavaServer Pages(JSP)代码。本资源集合包含了丰富的JSTL...

    JSTL_XML中的xalan.jar和serializer.jar

    在处理XML相关的操作时,JSTL提供了一个XML标签集,这些标签使得在JSP页面中解析、操作XML文档变得简单易行。在这个过程中,`xalan.jar`和`serializer.jar`两个库扮演了关键角色。 1. **xalan.jar**: `xalan.jar`...

    jstl源码jstl学习

    3. **学习XML处理**:了解`&lt;x:parse&gt;`, `&lt;x:out&gt;`, `&lt;x:transform&gt;`等标签,如何处理XML文档。 4. **熟悉I18N和Format**:掌握`&lt;fmt:formatDate&gt;`, `&lt;fmt:message&gt;`, `&lt;fmt:setBundle&gt;`等标签,进行国际化和格式化。...

    jstl标签学习笔记

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

    jstl文档学习资料

    jstl文档学习jstl文档学习jstl文档学习

    JSTL-XML-Xpath

    JSTL的核心部分包括了I/O、格式化、SQL、XML等标签,极大地提高了JSP的可读性和可维护性。 **XML** (eXtensible Markup Language) 是一种标记语言,用于存储和传输数据,特别适合结构化的数据。XML文档结构清晰,...

    JSTL学习

    前缀为`x`,默认URI为`http://java.sun.com/jstl/xml`。 3. **Internationalization and Formatting**:简称I18N,主要用于国际化和格式化数据,如日期、数字等的格式化显示。前缀为`fmt`,默认URI为`...

    jstl里操作xml的包

    JSTL的XML部分称为JSTL XML(JSTL XML Core),它允许开发者在JSP页面中方便地处理XML文档。本压缩包提供的几个jar文件是处理XML所必需的库,它们分别是: 1. **xsltc.jar**:这是Apache XSLTC的实现,它是XSL ...

    jstl深入学习知识

     XML 标签库:http://java.sun.com/jsp/jstl/xml 用来访问 XML 文件的工作,这是 JSTL 标签库的一个特点。  函数标签库:http://java.sun.com/jsp/jstl/functions 用来读取已经定义的某个函数。  数据库...

    jstl练习实例,学习JSTL

    本篇将详细讲解JSTL的基本概念、核心组件以及通过"jstl练习实例"进行的学习要点。 一、JSTL简介 JSTL是由Apache软件基金会的Jakarta项目维护的一个开源库,它提供了多种预定义的标签,用于处理常见的JSP任务,如...

    Struts JSTL 源码学习

    JSTL(JavaServer Pages Standard Tag Library)则是一组标准标签库,为JSP开发者提供了一种更高效、更简洁的方式来处理常见的任务,如迭代、条件判断、XML操作等。 源码学习对于深入理解框架的工作原理和优化应用...

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

    JSTL主要包含五个核心组件:Core、XML、Format、I18N和Functions。 **1. Core组件** Core组件是JSTL最基础的部分,包含了处理页面流程控制、URL操作、条件判断等常用功能的标签。例如: - `&lt;c:if&gt;`和`&lt;c:choose&gt;`...

    jstl.rar_JSTL_XML to database jsp_jsp xml_standard jstl

    JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问

    jstl学习源码

    **JSTL(JavaServer Pages Standard Tag Library)学习源码** JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,它提供了一系列标签来简化 JSP 页面的编程,使得开发者能够更加关注页面逻辑而不是底层的 Java...

Global site tag (gtag.js) - Google Analytics