0

我目前正在编写一堆 JSP 标签供我们的设计人员使用。在我的 .tld 文件中,我有一些<tag>和更多的<tag-file>元素。

现在,我想给标签库的用户一些关于如何使用它们的例子。根据Sun 的文档<tag-file><tag>元素都允许有一个<example>元素。

这适用于<tag>,但每当我尝试在 Eclipse 和 Tomcat 中放置示例时<tag-file>都会抛出错误。

有人有这方面的经验吗?

4

2 回答 2

1

<example>元素是在 Servlet 2.4 / JSP 2.0 中引入的。

除了将 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 的应用服务器?例如 Tomcat 5.x 或更新版本。如果没有,那么您需要升级。如果是这样,那么这个问题:是否声明了适当的 Servlet 版本(至少 2.4)web.xml?如果没有,请确保您这样做:

<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 或更改 中的 Servlet API 版本声明web.xml,那么您需要接受无法使用该<example>元素的事实。

于 2009-12-14T11:47:10.303 回答
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>

...

于 2009-12-15T02:03:42.753 回答