2

我目前正在使用 Spring Source Tools 2.9.1 - 但我在使用标准 Eclipse J2EE 发行版时遇到了同样的问题。

我正在用 jsp 视图编写 java web 应用程序。

为了更好地重用代码,我创建了一些标签 -*.tag文件WEB-INF\tags夹中的文件

文件示例enum.tag

<jsp:root version="2.0" 
    xmlns:form="http://www.springframework.org/tags/form" 
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:spring="http://www.springframework.org/tags"
    xmlns:tags="urn:jsptagdir:/WEB-INF/tags"
    xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
    xmlns:c="http://java.sun.com/jsp/jstl/core">

    <jsp:directive.tag pageEncoding="UTF-8" />

    <jsp:directive.attribute name="value" required="true" rtexprvalue="true" type="Object" />
    <jsp:directive.attribute name="cssClass" required="false" rtexprvalue="true" />

    <span class="enum ${value.cssClass} ${cssClass}"> 
        <span class="message"> 
            <spring:message code="${value.name}" />
        </span>
    </span>

</jsp:root>

如果我在我的 jsp 中使用此标签,则该标签会被验证器识别,但标签属性不会。

所以我收到这行jsp的警告

<tags:enum value="${t.state}" />

警告:

Undefined attribute name "value"

标签 nemaspace 初始化为:

xmlns:tags="urn:jsptagdir:/WEB-INF/tags

如何设置 Eclipse 以正确验证 tagdir 的标签?

4

2 回答 2

0

我使用 jsps 的 XML 版本(和标签)——所有的文件都是有效的 XML 文档,它使用类似的语法

<jsp:directive.tag pageEncoding="UTF-8" body-content="scriptless" />

<jsp:directive.attribute name="caption" required="false" rtexprvalue="true" />
<jsp:directive.attribute name="labelInfix" required="false" rtexprvalue="true" />

我现在意识到并检查了我需要使用 tagx 扩展(与 jspx 一起)。通过此更改,Eclispe 验证运行良好。

于 2012-11-27T16:19:35.657 回答
0

是的,在撰写本文时,使用 Eclipse Luna,Eclipse 对 JAR 中的自定义标签(Oracle 称为“打包标签文件”)的 JSP 标签验证仍然很糟糕。我有两个 Java 项目,一个包含有我的 .tags 和 TLD(TLD 有元素)的 JAR。我设法让 JSP 标记验证<t:customTag />工作,但 Eclipse 仍然将黄色的所有属性标记为“未定义的属性名称”。

我能够通过以下方式在我的依赖项目中进行标签验证:

  1. 将标签项目添加到构建路径->项目->“构建路径上的所需项目”
  2. 在我的 JAR/tag 项目本身中,在 Java build path->Order and export 下,我将 JAR 文件本身标记为已导出。
于 2015-02-13T00:00:18.280 回答