如何在jsp中引用標籤庫 轉帖
來源:互聯網
上載者:User
如果你使用的是符合JSP 1.2/Servlet 2.3 的容器,比如Tomcat 4.x 或者更高,你就可以在JSP頁面的taglib指令中使用絕對路徑而不必在web.xml中指定taglib元素。
對於早於Servlet 2.3 規範的情況,你仍然需要在web.xml中聲明所有你所使用的JSP 標籤。下面摘自web.xml部署描述符中的代碼片斷展示了用於Struts應用的典型taglib聲明:
<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/tags/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
從Servlet 2.3 之後,標籤庫的絕對URI 在該庫的標籤庫描述符 (TLD) 檔案中指定。比如,下面就是struts-bean.tld檔案中的相應聲明:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag
Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>bean</shortname>
<uri>http://jakarta.apache.org/struts/tags-bean</uri>
任何需要使用這個標籤庫的頁面都可以通過下面的頁面級指令來引用它。標籤庫不需要再在web.xml檔案中引用:
<%@ taglib
uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean" %>
如果你在整個應用中使用相同的標籤庫,你可以使用基本動作中所述的方法,即建立一個包含通用標籤庫聲明指令的包含JSP檔案。如果你引用了不需要的標籤庫,其實也不會有太大的效能損失,所以你可以在每個JSP頁面中安全的包含這個檔案。如果URI 改變,你將只需要修改一個地方而不是每一個JSP檔案。