我正在尝试在我的网站中实现sitemesh装饰器。他们网站上的示例有一个完整的URI链接到他们的站点,用于装饰器文件的taglib部分:
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
这是否意味着我的网站依赖于能够访问该网站?因为我想在无法访问外部世界的内部网内部署。
由于
答案 0 :(得分:8)
不,它没有。在taglib
中声明的URI将在本地解析,只要它匹配标记库描述符(或web.xml
中声明的URI),具体取决于容器实现的JSP版本。
有关详细信息,请参阅Java EE tutorial。
答案 1 :(得分:4)
没有。 URI是统一资源标识符,它不是定位符(URL)。这意味着URI用于唯一标识taglibs内部注册表中的每个taglib,就像一个键用于在Java中设置/获取HashMap
或Hashtable
中的值。
根据Sun的Web应用程序规范,将URI解析为可由应用程序加载/调用的实际标记库按以下顺序进行:
web.xml
文件中是否有匹配taglib
标记的标记,然后按照taglib-location
标记实际加载顶级域名。META-INF
目录。答案 2 :(得分:-1)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" >
其中uri
属性值解析为容器理解的位置,prefix
属性通知容器标记的哪些位是自定义操作。