0

我正在尝试重构我的 JSP 代码,以便通过*.tag文件重用一个小的条件测试条件。

我的 UI 有一些很大的部分取决于请求中存在的对象的两态属性的值。假设属性是“性别”,对象是 Person 类型。

就像我说的,我想使用标签简化和集中对性别属性的测试。为此,我创建了两个标记文件:

/WEB-INF/tags/if-male.tag
/WEB-INF/tags/if-female.tag

现在,我有另一个小点在我的整个应用程序中重复出现;假设是对我的网站用户的致敬。有了这个想法,我创建了一个这样的标签:

/WEB-INF/tags/salutation.tag

你可以想象,我正在尝试使用 salutation.tag 文件中的 if-male/if-female 测试来输出“Mrs.”。或“先生” 像这样:

<%@ tag body-content="empty" %>
<%@ taglib prefix="g" uri="/WEB-INF/tags" %>
<g:if-male> Mr. </g:if-male>
<g:if-female> Mrs. </g:if-female>

salutation.tag文件中使用 if-male/if-female 标签是否合法?

我已经尝试过这样的安排,但 JDeveloper 10.1.3.4 编译器看起来很混乱,无法处理调用同一个“库”(/WEB-INF/tags 下的文件夹)中的其他两个标签的 salutation.tag 标签。

该参考在 Jetty 6 中完美运行,如果我直接将应用程序部署到 OC4J 而不依赖 JDeveloper 来预编译我的所有 JSP,它看起来也能正常工作。

我希望有人可以对此有所了解。

谢谢,

YJ

4

2 回答 2

0

在其他自定义标签中包含标签声明——我一直这样做,并且语法与你的匹配。

于 2010-04-03T00:10:31.767 回答
0

这是绝对合法的,也是标签文件吸引力的一部分。

如果 JDeveloper 不喜欢它,那就是 JDeveloper 的问题。您应该考虑改用现代 IDE(eclipse、netbeans、intellij),JDeveloper 的时代(如果有的话)早已一去不复返了。

于 2010-04-03T11:16:26.637 回答