JSTL详解(四)

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

<c:import> 标签允许包含另一个 JSP 页面到本页面来。它的属性和描述如表 9.9 所示:

9.9   <c:import> 标签属性和说明

属性

描述

url

需要导入页面的 URL

context

Web Context 该属性用于在不同的 Context 下导入页面,当出现 context 属性时,必须以“ / ”开头,此时也需要 url 属性以“ / ”开头(可选)

charEncoding

导入页面的字符集(可选)

var

可以定义导入文本的变量名(可选)

scope

导入文本的变量名作用范围(可选)

varReader

接受文本的 java.io.Reader 类变量名(可选)

下面看一个示例。

<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> 标签属性和说明

属性

描述

value

页面的 URL 地址

context

Web Context 该属性用于得到不同 Context 下的 URL 地址,当出现 context 属性时,必须以“ / ”开头,此时也需要 url 属性以“ / ”开头(可选)

charEncoding

URL 字符集 (可选)

var

存储 URL 的变量名(可选)

scope

变量名作用范围(可选)

下面看一个示例:

<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> 标签属性和说明

属性

描述

name

传递的参数名

value

传递的参数值(可选)

下面是一个示例:

<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> 标签属性和说明

属性

描述

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 文件做过滤得到自身需要的部分(可选)

其中, 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}"/>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值