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’
				
				”。
		
		
				
				
						在企业级应用越来越依赖
						
								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}"/>