http://docs.oracle.com/javaee/5/tutorial/doc/bnalj.htmlJava EE 5 Tutorial 的说明。(Java EE 7太新,不符合现在所学,故没有引用7的链接)
http://www.cnblogs.com/zhaoyang/archive/2011/12/25/2301108.html
http://wiki.metawerx.net/wiki/Web.xml
==============================================================
http://wiki.metawerx.net/wiki/Web.xml.JspConfig
<jsp-config>
This parent element wraps one or more <taglib> elements and <jsp-property-group>
elements.
Note that in Tomcat 6 and earlier, <taglib> did not need to be inside <jsp-config>. However on Tomcat 7, context will fail to load with the following error if you specify <taglib> elements outside of a <jsp-config> element. This occurs even if you specify an
earlier web-app version in your web.xml, so can be confusing when migrating to Tomcat 7.
IllegalArgumentException: taglib definition not consistent with specification version
Child-elements:
See Also
===========================================================
http://wiki.metawerx.net/wiki/RemovingTaglibFromWeb.xml
Date: 16-Nov-2006
JSP 1.2 required the <taglib> directive to be used inweb.xmlfor every JSP
Custom Tag Library used by the application. In JSP 2.0 this is no longer required. This guide shows how to get rid of your <taglib> directives and how JSP 2.0 finds TLD files.
The <taglib> directive looks like this. You will find one inweb.xmlfor older
versions of Struts, and any other software which uses tag libraries in JSP 1.2.
<taglib>
<taglib-uri>mytags</taglib-uri>
<taglib-location>/WEB-INF/jsp/mytaglib.tld</taglib-location>
</taglib>
Since JSP 2.0, this is now optional.
The TLD is discovered automatically when the taglib is first referenced in a JSP file.
The actual JSP 1.2 TLD files themselves are upwardly compatible with JSP 2.0, so do not need to be modified.
Where does JSP look for the TLD files?
JSP 2.0 containers such asTomcat5.5 search for TLD files in the following places:
The following locations are searched:
- <appName>/WEB-INF folder
- All subfolders of <appName>/WEB-INF
- Inside each JAR file in <appName>/WEB-INF/lib, in the META-INF folder of the JAR. This method is prefered for easy deployment of a JAR containing a taglib.
How should I package my JAR file?
Place TLD files in a folder named META-INF, at the root level of theJAR
file. eg:
META-INF/
mytags.tld
com/
yourCompanyName/
yourTag1.class
yourTag2.class
yourTag3.class
ANT build.xml example
This example copies TLD files from src dir into your compiled-classes dir, then includes them in the <jar> elements. In this case, we are making two JAR files, containing
all files from the com.yourCompanyName.jsputil and waptools folders, and including the relevant TLD file in each JAR. You could also combine to make a single jar file, with both TLDs included.
<!-- Copy TLD files into the out.dir, so all files for the JAR are in the same place -->
<copy todir="${out.dir}/META-INF">
<fileset dir="${src.dir}/META-INF">
<include name="**.tld" />
</fileset>
</copy>
<!-- Create the jsputil jar file -->
<jar jarfile="${dist.dir}/jsputil.jar"
basedir="${out.dir}"
includes="com/yourCompanyName/jsputil/** META-INF/jsputil.tld" />
<!-- Create the waptools jar file -->
<jar jarfile="${dist.dir}/waptools.jar"
basedir="${out.dir}"
includes="com/yourCompanyName/waptools/** META-INF/waptools.tld" />
Why is this better?
For library developers, distribution is now simpler as packaging is as simple as including the TLD file in theJAR
file.
For end-users, deployment and re-use is simpler, as a tag libraryJAR filecan
simply be dropped into the WEB-INF/lib folder with noweb.xmlconfiguration
required.
TLD Tips in JSP 2.0
- The TLD file does not need to have the same name as the library. For example, your mytags library definition can be in a file called mytaglist.tld. However, for easier identification
later, it is good practise to use the same name as you intend to use in the JSP files. For example, if you plan to reference your library as mytags, with <mytags:testtag> in JSP, call the file mytags.tld.
- The <short-name> element in the TLD file does not need the same name as the library. Once again, for easier maintenance and to avoid potential clashes, it is good practise to use the
same name. For example <short-name>mytags</short-name>.
- The <uri> in the TLD file is the main reference for matching JSP declarations with the correct TLD. When automatically finding TLD files, the container matches the uri attribute in your
JSP taglib declaration with the <uri> tag in the TLD file. Ensure this is always unique to avoid clashes. For example:
This declaration in your JSP ...
<%@ taglib prefix="mytags" uri="http://metawerx.net/taglibs/mytags" %>
Will match this element in your TLD ...
<uri>http://metawerx.net/taglibs/mytags</uri>
Upgrading your application
- Many older applications still include the <taglib> directive inweb.xml.
If your application falls into this category, try removing it and check if everything still works. Don't forget to move your TLD file into WEB-INF, or preferably into yourJAR
file. Yourweb.xmlwill be simpler, and the Tag Library will be more modular
(easier to remove from the app, replace, or reuse).
- In older applications, the TLD file is sometimes in a separate folder, such as in the example above (/WEB-INF/jsp/mytaglib.tld). In this case, move the file into theJAR
fileif possible. TLD files will still work from subfolders of WEB-INF, but since the location of the TLD files is no longer recorded inweb.xml,
it can make them harder to find when debugging your system later - especially after a few months of not looking at it, or if someone else is trying to debug your code. It therefore makes sense to either include them in theJAR
filewhich contains the classes for the tag, or at least place them in an easy to notice location such as a subfolder called WEB-INF/tld or WEB-INF/taglibs.
Debugging TLD Deployment
The following pages have solutions to exceptions you may encounter when working with Custom Tag Libraries.
See Also
其它链接:
http://blog.csdn.net/yhawaii/article/details/7218062
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
"J2EE 中关于 web.xml 文件的配置" 在 J2EE 中,web.xml 文件扮演着非常重要的角色,它是一个基于 XML 的配置文件,用于描述 Web 应用的各个方面的配置信息。通过 web.xml 文件,我们可以对 Web 应用进行配置,例如...
jsp使用自定义标签taglib分页系列——完整例子
讲述Taglib 自定义标签
Taglib自定义标签.doc
自定义taglib的开发.pdf
feilong-taglib,是 JSP常用自定义标签集 主要由两部分组成 Common 包含所有自定义标签的base类,以及常用的自定义标签 和el function taglib 说明 isContains 判断一个值,...
17.6 xml标签库 529 17.6.1 核心操作 529 17.6.2 流程控制 532 17.6.3 转换操作 536 17.7 functions标签库 539 17.7.1 fn:contains 539 17.7.2 fn:containsignorecase 539 17.7.3 fn:startswith 540 17.7.4 ...
这里在实现自定义标签时,继承的2个类分别是org.apache.struts2.views.jsp.ComponentTagSupport和org.apache.struts2.components.Component,ComponentTagSupport实际上是对BodyTagSupport的一次封装,看一下...
部署描述文件web.xml详解(web-app_2_3.dtd),全面介绍: 1. icon元素 2. display-name元素 3. description元素 4. distributable元素 5. context-param元素 6. filter元素 7. filter-mapping元素 8. ...
一个完整的工程,放到tomcat里就可以用了,很好用,采用自定义标签实现分页
使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 <%@ taglib uri="/priveliege" prefix=...
JSTL 标签 发生 uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application问题时解决方法
博文链接:https://jiang5769156.iteye.com/blog/733150
资源内容:java自定义标签开发;JSP页面中自定义标签详解教程;JSP自定义标签简介;taglib_原理和实现;更多场景的示例Demo;
标签:acegi-security-taglib-0.6.1.jar.zip,acegi,security,taglib,0.6.1,jar.zip包下载,依赖包
标签:acegi-security-taglib-0.6.jar.zip,acegi,security,taglib,0.6,jar.zip包下载,依赖包
标签:acegi-security-taglib-0.51.jar.zip,acegi,security,taglib,0.51,jar.zip包下载,依赖包
17.6 xml标签库 529 17.6.1 核心操作 529 17.6.2 流程控制 532 17.6.3 转换操作 536 17.7 functions标签库 539 17.7.1 fn:contains 539 17.7.2 fn:containsignorecase 539 17.7.3 fn:startswith 540 17.7.4 ...
maven-taglib-1.2-sources.jar