c:import 标签详解
来源:互联网 发布:js追加div 编辑:程序博客网 时间:2024/06/06 04:30
<c:import>
库 :Core(核心库)
URI:http://java.sun.com/jsp/jstl/core
前缀 :c
描述 :标签允许包含另一个 JSP 页 面到本页面来。jsp有两种内置机制可以将来自不同 URL 的内容合并到一个 JSP 页面:include 伪指令 和 <jsp:include> 操作。不过,不管是哪种机制,要包含的内容都必须属于与页面本身相同的 Web 应用程序 (或 servlet 上下文)。两个标记之间的主要区别在于: include 伪指令在页面编译期间合并被包含的内容, 而 <jsp:include> 操作却在请求处理 JSP 页面时进行。
core 库 的 <c:import>和 <jsp:include> 一样, <c:import> 也是一种请求时操作,它 的基本任务就是将其它一些 Web 资源的内容插入 JSP 页面中。 通过 url 属性指定将要导入内容的 URL,这个属性 是 <c:import> 的唯一一个必选属性。这里允许使用相对 URL,并且根据当前页面的 URL 来解析这个相对 URL。但是,如 果 url 属性的值以斜杠开始,那么它就被解释成本地 JSP 容器内的绝对 URL。如果没有为 context 属性指定值,那么就认为这样的绝 对 URL 引用当前 servlet 上下文内的资源。如果通过 context 属性显式地指定了上下文,那么就根据指定的 servlet 上下文 解析绝对(本地)URL。 但 <c:import> 操作并不仅仅限于访问本地内容。也可以将包含协议和主机名的完整 URI 指定 为 url 属性的值。实际上,协议甚至不仅局限于 HTTP。 <c:import> 的 url 属性值可以使 用 java.net.URL 类所支持的任何协议。
语法 :
语法1:资源的内容使用String对象向外暴露
<c:import url="url" [context="context"]
[var="varName"] [scope="{page|request|session|application}"] [charEncoding="charEncoding"]>
内容
</c:import>
语法2:资源的内容使用Reader对象向外暴露。
<c:import url="url" [context="context"]
varReader="varReaderName" [charEncoding="charEncoding"]>
内容
</c:import>
属性 :
属性名
描述
类型
是否接受动态值
是否支持 EL
是否
必须
默认值
说明
url
统一资源定位器
String
true
Y
是
无
待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源
context
上下文
String
true
Y
否
无
当使用相对路径访问外部context资源时,context指定了这个资源的名字。
var
变量
String
false
N
否
无
参数的名字。
scope
范围
String
false
N
否
page
var参数的作用范围。
cahrEncoding
字符编码
String
true
Y
否
无
输入资源的字符编码。
varReader
资源 阅读器
String
false
N
否
无
这个参数的类型是Reader,用于读取资源。
说明
<c:import>中必须要有 url 属性,它是用来设定被包含网页的地址。它可以为绝对地址或是相对地址.
<c:import>也支持FTP协议,假设现在有一个 FTP站台,地址为 ftp.javaworld.com.tw,它里面有一个文件data.txt,那么可以写成如下方式将其内容显示出来:
<c:import url="ftp://ftp.cse.yzu.edu.tw/data.txt" />
另外,可以在<c:import>的本体内容中使用<c:param>,它的功用主要是:可以将参数传递给被包含的文件,它有两个属性name和value.如:
<c:import url="http://java.sun.com" >
<c:param name="test" value="1234" />
</c:import>
这样的做法等于是包含一个文件,并且所指定的网址会变成如下:
http://java.sun.com?test=1234
实例 :
----------------------------------------------------------------------------------------------------------------------------------------
Example1
<c:catch var="exception">
<c:import url="ftp://ftp.example.com/package/README"/>
</c:catch>
<c:if test="${not empty exception}">
Sorry, the remote content is not currently available.
</c:if>
<c:import> 操 作用来包含通过 FTP 协议访问的文档内容。此外,还使用了 <c:catch> 操作,以便在本地处理 FTP 文件传送期间可能发生的 任何错误。错误处理是这样实现的:使用 <c:catch> 的 var 属性为异常指定一个限定了作用域的变量,然后使 用 <c:if> 检查其值。如果产生了异常,那么就会对那个限定了作用域的变量进行赋值:如清单 18 中的 EL 表达式所显示的那样, 该变量的值将 不会为空。由于 FTP 文档的检索将会失败,因此会显示有关这种情况的错误消息。<c:import> 操作的最后两个(可 选的)属性是 var 和 scope 。 var 属性会导致从指定 URL 获取的内容(作为 String 值)被存储在一个限定了作用域的变量 中,而不是包含在当前 JSP 页面中。 scope 属性控制该变量的作用域,缺省情况下是页面作用域。如同我们在今后的文章中将要看到的那 样,JSTL xml 库中的标记利用了 <c:import> 这种能力,即将整个文档存储在一个限定了作用域的变量中。
还要注意的是,可以使用(可选的)嵌套的 <c:param> 标记来为正在导入的 URL 指定请求参数。与在 <c:url> 中嵌套 <c:param> 标记一样,必要时也要对参数名称和参数值进行 URL 编码。
----------------------------------------------------------------------------------------------------------------------------------------
Example2
<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 。
- c:import 标签详解
- c:import 标签详解
- c:import 标签详解
- c:import 标签详解
- <c:import>标签说明
- JSP标签<c:import>
- <c:import> 标签的使用
- c标签的 url import 和 redirect
- jstl 中的 包含标签<c:import>
- c标签 详解
- <c:forEach>标签详解
- <c:forEach>标签详解
- jstl c标签详解
- <c:foreach>标签详解
- <c:import>标签的文件混合和代码混合使用
- jstl标签: c:Foreach详解
- jstl标签: c:Foreach详解
- jstl标签: c:Foreach详解
- pid match算法思想
- 如何减少电脑辐射的危害——电脑族必看!
- erlang之OTP中文文档
- 使用HttpURLConnection获取网页内容
- 基于guided image filtering的图像去雾 opencv实现
- c:import 标签详解
- ZedGraph做统计
- 开源和免费引擎
- SUSE 11.1上XEN虚拟机NAT组网方式
- 使用HttpURLConnection从网络中下载图片
- HttpURLConnection多线程下载
- JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari…… .
- QFileInfo 的文件名提取问题
- 软件模式的小结