您的位置:首页 > 编程语言 > Java开发

[置顶]       JSTL与Struts的结合(四)

2013-04-23 12:59 344 查看

用于包含页面的<c:import>

<c:import>标签允许包含另一个JSP页面到本页面来。它的属性和描述如表9.9所示: 表9.9 <c:import>标签属性和说明 [align=center]
属性
描述
url
需要导入页面的URL
context
Web Context该属性用于在不同的Context下导入页面,当出现context属性时,必须以“/”开头,此时也需要url属性以“/”开头(可选)
charEncoding
导入页面的字符集(可选)
var
可以定义导入文本的变量名(可选)
scope
导入文本的变量名作用范围(可选)
varReader
接受文本的java.io.Reader类变量名(可选)
[/align] 下面看一个示例。 <c:import url="/MyHtml.html" var="thisPage" /> <c:import url="/MyHtml.html" context=”/sample2” var="thisPage"/> <c:import url="www.sample.com/MyHtml.html" var="thisPage"/> 该示例演示了三种不同的导入方法,第一种是在同一Context下的导入,第二种是在不同的Context下导入,第三种是导入任意一个URL。

9.3.10 用于得到URL地址的<c:url>标签

<c:url>标签用于得到一个URL地址。它的属性和描述如表9.10所示: 表9.10 <c:url>标签属性和说明 [align=center]
属性
描述
value
页面的URL地址
context
Web Context该属性用于得到不同Context下的URL地址,当出现context属性时,必须以“/”开头,此时也需要url属性以“/”开头(可选)
charEncoding
URL的字符集(可选)
var
存储URL的变量名(可选)
scope
变量名作用范围(可选)
[/align] 下面看一个示例: <c:url value="/MyHtml.html" var="urlPage" /> <a href="${urlPage}">link</a> 得到了一个URL后,以EL表达式放入<a>标签的href属性,达到链接的目的。

9.3.11 用于页面重定向的<c:redirect>标签

<c:redirect>用于页面的重定向,该标签的作用相当于response.setRedirect方法的工作。它包含url和context两个属性,属性含义和<C:url>标签相同。下面看一个示例。 <c:redirect url="/MyHtml.html"/> 该示例若出现在JSP中,则将重定向到当前Web Context下的“MyHtml.html”页面,一般会与<c:if>等标签一起使用。

9.3.12 用于包含传递参数的<c:param>标签

<c:param>用来为包含或重定向的页面传递参数。它的属性和描述如表9.11所示: 表9.11 <c:param>标签属性和说明 [align=center]
属性
描述
name
传递的参数名
value
传递的参数值(可选)
[/align] 下面是一个示例: <c:redirect url="/MyHtml.jsp"> <c:param name="userName" value=”RW” /> </c:redirect> 该示例将为重定向的“MyHtml.jsp”传递指定参数“userName=’RW’”。

9.4 JSTL XML processing标签库

在企业级应用越来越依赖XML的今天,XML格式的数据被作为信息交换的优先选择。XML processing标签库为程序设计者提供了基本的对XML格式文件的操作。在该标签库中的标签一共有10个,被分为了三类,分别是:
q XML核心标签:<x:parse>、<x:out>、<x:set>。
q XML流控制标签:<x:if>、<x:choose>、<x:when>、<x:otherwise>、<x:forEach>。
q XML转换标签:<x:transform>、<x:param>。
由于该组标签库专注于对某一特定领域的实现,因此本书将只选择其中常见的一些标签和属性进行介绍。

9.4.1 用于解析XML文件的<x:parse>标签

<x:parse>标签是该组标签库的核心,从其标签名就可以知道,它是作为解析XML文件而存在的。它的属性和描述如表9.12所示:
表9.12 <x:parse>标签属性和说明
[align=center]
属性
描述
doc
源XML的内容,该属性的内容应该为String类型或者java.io.Reader的实例,可以用xml属性来替代,但是不被推荐
var
将解析后的XML保存在该属性所指定的变量中,之后XML processing标签库中的其他标签若要取XML中的内容就可以从该变量中得到(可选)
scope
变量的作用范围(可选)
varDom
指定保存的变量为org.w3c.dom.Document接口类型(可选)
scopeDom
org.w3c.dom.Document的接口类型变量作用范围(可选)
systemId
定义一个URI,该URI将被使用到XML文件中以接入其他资源文件(可选)
filter
该属性必须为org.xml.sax.XMLFilter类的一个实例,可以使用EL表达式传入,将对XML文件做过滤得到自身需要的部分(可选)
[/align] 其中,var、scope和varDom、scopeDom不应该同时出现,而应该被视为两个版本来使用,二者的变量都可以被XML processing标签库的其他标签来使用。
<x:parse>标签单独使用的情况很少,一般会结合XML processing标签库中的其他标签来一起工作。下面看一个示例。
首先给出一个简单的XML文件,将对该XML文件做解析,该XML文件名为SampleXml.xml。
<?xml version="1.0" encoding="UTF-8"?>
<xml-body>
<name>RW</name>
<passWord>123456</passWord>
<age>28</age>
<books>
<book>book1</book>
<book>book2</book>
<book>book3</book>
</books>
</xml-body>
标签库的工作:
<c:import var="xmlFile" url="http://localhost:8080/booksamplejstl/SampleXml.xml"/>
<x:parse var="xmlFileValue" doc="${xmlFile}"/>
该示例读取XML文件得到了<c:import>标签的帮助,<c:import>标签将源XML文件的内容保存在“xmlFile”变量中,<x:parse>标签根据“xmlFile”变量的值解析“SampleXml.xml”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts jstl el