c:import 标签详解

<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

 

 

输入资源的字符编码。 

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 。 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
plt.scatter()是matplotlib库中的一个函数,用于绘制散点图。它的常用参数如下: - x:x轴数据,可以是一个数组或者列表。 - y:y轴数据,可以是一个数组或者列表。 - s:散点的大小,可以是一个数值或者一个数组或者列表,用于指定每个散点的大小。 - c:散点的颜色,可以是一个颜色字符串或者一个数组或者列表,用于指定每个散点的颜色。 - marker:散点的形状,可以是一个标记字符串或者一个数组或者列表,用于指定每个散点的形状。 - alpha:散点的透明度,可以是一个数值或者一个数组或者列表,用于指定每个散点的透明度。 - cmap:颜色映射,用于指定颜色的映射方式。 - edgecolors:散点边缘的颜色,可以是一个颜色字符串或者一个数组或者列表,用于指定每个散点边缘的颜色。 - linewidths:散点边缘的宽度,可以是一个数值或者一个数组或者列表,用于指定每个散点边缘的宽度。 下面是一个例子,演示了如何使用plt.scatter()函数绘制散点图,并设置不同的参数: ```python import matplotlib.pyplot as plt import numpy as np # 生成数据 x = np.random.rand(50) y = np.random.rand(50) colors = np.random.rand(50) sizes = np.random.randint(10, 100, 50) # 绘制散点图 plt.scatter(x, y, c=colors, s=sizes, alpha=0.5) # 设置标题和标签 plt.title('Scatter Plot') plt.xlabel('X') plt.ylabel('Y') # 显示图形 plt.show() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值