在每次你需要使用一個(gè)新的標(biāo)簽庫時(shí),想要避免非要在web.xml中加入taglib元素。
創(chuàng)建一個(gè)JSP 文件包含引用到你所使用的標(biāo)簽庫描述符的絕對(duì)路徑的taglib指令。Example 2-4 (taglibs.inc.jsp) 就展示了一個(gè)包含對(duì)Struts bean, html, 和logic標(biāo)簽庫聲明以及JSTL的core 和formatting 標(biāo)簽庫的taglib聲明的JSP 文件。
然后在JSP使用下面的指令包含這個(gè)文件:
因?yàn)槟阍趖aglib中使用的是絕對(duì)路徑,你將不需要在web.xml文件中輸入對(duì)應(yīng)的taglib元素。
如果你使用的是符合JSP 1.2/Servlet 2.3 的容器,比如Tomcat 4.x 或者更高,你就可以在JSP頁面的taglib指令中使用絕對(duì)路徑而不必在web.xml中指定taglib元素。
對(duì)于早于Servlet 2.3 規(guī)范的情況,你仍然需要在web.xml中聲明所有你所使用的JSP 標(biāo)簽。下面摘自web.xml部署描述符中的代碼片斷展示了用于Struts應(yīng)用的典型taglib聲明:
從Servlet 2.3 之后,標(biāo)簽庫的絕對(duì)URI 在該庫的標(biāo)簽庫描述符 (TLD) 文件中指定。比如,下面就是struts-bean.tld文件中的相應(yīng)聲明:
任何需要使用這個(gè)標(biāo)簽庫的頁面都可以通過下面的頁面級(jí)指令來引用它。標(biāo)簽庫不需要再在web.xml文件中引用:
如果你在整個(gè)應(yīng)用中使用相同的標(biāo)簽庫,你可以使用基本動(dòng)作中所述的方法,即創(chuàng)建一個(gè)包含通用標(biāo)簽庫聲明指令的包含JSP文件。如果你引用了不需要的標(biāo)簽庫,其實(shí)也不會(huì)有太大的性能損失,所以你可以在每個(gè)JSP頁面中安全的包含這個(gè)文件。如果URI 改變,你將只需要修改一個(gè)地方而不是每一個(gè)JSP文件。
Table 2-1 展示了版本1.1 和1.2 的Struts中的標(biāo)簽庫絕對(duì)URI的完整列表。
Tag library
Struts 1.1 URI
Struts 1.2 URI
struts-bean
http://jakarta.apache.org/struts/tags-bean
http://struts.apache.org/tags-bean
struts-html
http://jakarta.apache.org/struts/tags-html
http://struts.apache.org/tags-html
struts-logic
http://jakarta.apache.org/struts/tags-logic
http://struts.apache.org/tags-logic
struts-nested
http://jakarta.apache.org/struts/tags-nested
http://struts.apache.org/tags-nested
struts-template
http://jakarta.apache.org/struts/tags-template
不再包括,被Tiles代替
struts-tiles
http://jakarta.apache.org/struts/tags-tiles
http://struts.apache.org/tags-tiles
struts-bean-el
http://jakarta.apache.org/struts/tags-bean-el
http://struts.apache.org/tags-bean-el
struts-html-el
http://jakarta.apache.org/struts/tags-html-el
http://struts.apache.org/tags-html-el
struts-logic-el
http://jakarta.apache.org/struts/tags-logic-el
http://struts.apache.org/tags-logic-el
有些開發(fā)人員喜歡使用絕對(duì)URI,而有些仍然喜歡使用web.xml的聲明。需要指出的是,后一種方式可以將你的應(yīng)用代碼和下層的標(biāo)簽庫改變隔離開來。如果URI 改變,你只需要修改web.xml文件中的相關(guān)聲明。你并不需要修改每個(gè)JSP頁面,包括被包含的JSP片斷。這種方式也是有效的,也有可取之處。最后,采用那種方式完全取決于個(gè)人喜好。
JSP規(guī)范有一些稍微有點(diǎn)復(fù)雜的規(guī)則來解析標(biāo)簽庫的URI。詳細(xì)的信息可以參考JSP的規(guī)范,它可以在http://java.sun.com/jsp處下載。
第3.1式將向你展示在Struts應(yīng)用中使用JSP 標(biāo)準(zhǔn)標(biāo)簽庫(JSTL) 。
posted on 2005-05-11 10:04 鐵手 閱讀(2486) 評(píng)論(1) 編輯 收藏 所屬分類: Java 、Struts系列