使用定制标签-2

关联uri和tld
jsp容器形成一个标记库映射要经过三步:
1.jsp容器从web.xml文件中读取用户定义的条目。此步被称为显式映射(explicit mapping)。
2.jsp容器读取jar文件中的所有taglib.tld文件。由于tld文件本身就是一些关于映射的信息。所以,jsp容器会为每个taglib.lib文件建立对应的映射。这整个步骤被称为隐含映射(implicit mapping)。
3.最后,jsp容器会再增加一条缺省映射。http://java.sun.com/JSP/Page。这条映射被称为著名映射(well-known mapping)。

显式映射
在web.xml文件中,映射是由<taglib>标记完成的。其中有两个元素需要定义。
<taglib-uri>需要映射的uri。
<taglib-location>这里是tld文件的地址。当然是能访问到的。
举例:
<taglib>
 <taglib-uri>
 http://www.manning.com/studyKit
 </taglib-uri>
 <taglib-location>
 /myLibs/studyKit.tld
 </taglib-location>
</taglib>

一旦这种映射建立。我们就可以在jsp文件中使用标记库了。例如:
<%@ taglib prefix="study" uri="http://www.manning.com/studyKit" %>
.如果uri的值和<taglib-uri>的值相等。jsp引擎会去使用<taglib-location>中的值。
注意<taglib-location>中的路径形式。如果以/开始,代表相对于网络应用根目录;如果不是以/开始,则代表相对于/WEB-INF/目录。
.如果uri的值和<taglib-uri>的值不相等。会出现以下三种情况中的一种。
1-如果uri中的值本身是一个绝对uri(带协议,主机,目录),则会报转换时(translation time)错误。
2-如果uri的值是一个相对于根的uri,会被认为是指向相对于网络应用的文档根目录。
3-如果uri是非根uri,被理解为和jsp页处于相同目录。

理解前缀
在jsp页中每个标签由两部分组成。如:<jsp:include>。这里jsp就是前缀,include表示动作。
不同的标签前缀就代表者不同的标签库。
为了避免冲突,jsp规范对前缀的命名做出一些限制:
1.不能用jsp做前缀。因为已经能被使用了;
2.以下标签作为保留也不可以使用:jspx,java,javax,servlet,sun,sunw。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值