我正在为我们的设计师编写一堆JSP标签。在我的.tld文件中,我有一些<tag>
和更多<tag-file>
元素。
现在,我想给标签库的用户一些关于如何使用它们的例子。根据{{3}},<tag-file>
和<tag>
元素都可以包含<example>
元素。
这适用于<tag>
,但每当我尝试在<tag-file>
中放置示例时,Eclipse和Tomcat都会抛出错误。
有人有过这方面的经验吗?
答案 0 :(得分:1)
Servlet 2.4 / JSP 2.0中引入了<example>
元素。
除了将taglib根声明为JSP taglib 2.0之外,如下所示
<taglib
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
您是否也在使用能够使用Servlet 2.4 / JSP 2.0的appserver?例如Tomcat 5.x或更新版本。如果没有,那么你需要升级。如果是这样,那么这个问题:在web.xml
中声明了一个正确的Servlet版本(至少2.4)?如果没有,那么请确保您这样做:
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
或者,如果您已经在使用支持Servlet 2.5的应用程序服务器(例如Tomcat 6.x),那么只需声明Servlet 2.5是最新的:
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
如果您不想升级appserver或更改web.xml
中的Servlet API版本声明,那么您需要忍受不能使用<example>
元素的事实。
答案 1 :(得分:0)
它适用于Tomcat 6.0。这是我的档案,
<tagtoc name="Configuration Components">
<tag-file>
<description>Get configured value</description>
<display-name>get</display-name>
<name>get</name>
<path>/META-INF/tags/config/get.tag</path>
<example>
<![CDATA[
<config:get key="username" echo="true" />
]]>
<usage>
<comment>
<p>
See config-test.jsp in the example application.
</p>
</comment>
</usage>
</example>
</tag-file>
...