`

标签的用法

    博客分类:
  • jstl
阅读更多
描述 : 标签允许包含另一个 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 。
分享到:
评论

相关推荐

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    struts2标签用法详解

    三、常用Struts2标签用法 1. `s:action`: 这个标签用于执行一个特定的Action,例如: ```jsp ``` 其中,`name`属性指定了Action的名称,`executeResult`表示是否执行结果。 2. `s:form`: 创建表单并绑定到...

    jsp标签用法.rar

    理解并熟练使用JSP标签能够极大地提高开发效率,使代码更加清晰和模块化。通过合理运用JSTL、自定义标签和JSP动作标签,可以创建出易于维护和扩展的JSP应用。在实际开发中,应根据需求选择合适的标签类型,以实现...

    jeecms 标签 使用说明

    在提供的文件`jss_CMS标签说明.doc`和`jeecms模板标签说明.doc`中,详细列出了Jeecms系统中所有可用的标签及其用法。这些文档是学习和使用Jeecms标签的重要参考资料,包含了标签的属性介绍、示例代码以及实际应用...

    struts2标签使用方法

    Struts2 标签使用方法 Struts2 标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,Struts2 的主题、模板都提供了很好的扩展性。Struts2 允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂...

    DisplayTag标签使用说明

    DisplayTag 的基本用法是通过`&lt;display:table&gt;`标签来展示数据列表。例如,当你有一个名为`test`的列表,你可以直接使用该标签来显示列表中的所有对象属性: ```jsp ("test", new ReportList(6));%&gt; ``` 这将遍历...

    JSTL中if标签使用方法

    ### JSTL中if标签使用方法详解 JSTL(JavaServer Pages Standard Tag Library)是为简化JSP页面开发而设计的一组标准标签库。它提供了处理数据、条件逻辑等功能的强大工具,使得开发者无需编写复杂的Java代码即可...

    HtmlMate标签使用详解中文WORD版

    资源名称:Html Mate 标签 使用详解 中文WORD版本文档主要讲述的是Html Mate 标签使用详解;meta是html语言head区的一个辅助性标签。meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同...

    HTML 5和 HTML 4的区别点及标签用法

    ### HTML 5与HTML 4的区别点及标签用法详解 HTML 5作为新一代的超文本标记语言标准,相比其前代HTML 4,在语法、功能以及对多媒体的支持上进行了大幅改进,旨在提升网页的交互性和用户体验。以下将详细介绍HTML 5与...

    struts2 标签使用

    ### Struts2 `&lt;s:if&gt;` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...

    html标签大全标签用法详解

    它详尽地介绍了每个标签的用法、属性及注意事项。通过实践和查阅资料,开发者可以熟练掌握HTML,从而创建出功能丰富、用户体验优秀的网站。 总结,HTML标签是构建网页的基础,理解和熟练运用各种标签能有效提升网站...

    struts标签使用war

    通过这个工程,你可以更直观地学习和理解每个标签的功能和用法。实践中,你需要解压文件,导入到 IDE,运行并观察每个页面的效果,同时查阅源码了解标签背后的逻辑。 总之,熟练掌握 Struts 标签库能极大地提高开发...

    struts2标签用法(详情见附件)

    这篇博客将详细介绍Struts2的标签用法。 首先,Struts2的标签库分为核心标签库和结果标签库,核心标签库主要用于处理表单、数据展示等,而结果标签库则与Action的结果输出有关。 1. **核心标签库**: - **s:...

    struts文件上传例子及页面基本标签用法

    在这个例子中,我们将探讨如何在Struts中实现文件上传,并了解一些基本的页面标签用法。 首先,文件上传在Struts中通常涉及到两个主要部分:前端HTML表单和后端Action类。在前端,我们需要一个`&lt;input type="file"&gt;...

    jeecms2012标签使用教程

    在“jeecms2012标签使用教程”中,很可能会详细讲解每个标签的用法、参数配置以及实例演示,帮助初学者快速上手。对于已经熟悉Jeecms的开发者来说,这份教程也是解决实际问题、优化代码的好参考。

    Struts2表单标签使用范例

    本示例将深入探讨Struts2的表单标签使用方法,帮助开发者更好地理解和应用这些标签。 首先,我们来了解一些基本概念。在Struts2中,表单标签通常与Action类中的属性相对应,用于在JSP页面上创建HTML表单元素。例如...

    JEECMS系统标签使用概述

    为了测试JEECMS标签的用法,需要新建相应的模板文件并进行设置: 1. **新建模板**:首先,在后台管理界面新建一个以`index`开头的首页模板(例如`index_demo.html`)。 2. **设置模板**:将新建的模板设置为网站...

    网页优化meta标签使用方法及规则中文WORD版

    资源名称:网页优化meta标签使用方法及规则 中文WORD版   本文档主要讲述的是网页优化meta标签使用方法及规则;meta是html语言head中的一个辅助标签,meta标签由http-equlv属性和name属性组成,属性不同...

    struts标签使用中文说明文档

    1. 标签实例:文档会提供详细的标签使用示例,包括标签的完整形式、属性及其用法。 2. 标签功能解析:解释每个标签的作用和适用场景,帮助开发者理解何时应使用哪个标签。 3. 属性详解:详细解释各个属性的含义,...

Global site tag (gtag.js) - Google Analytics