【发布时间】:2014-06-05 11:50:57
【问题描述】:
我正在尝试创建一个 facelets taglib。到目前为止,我阅读的每个教程都告诉我将 *.taglib.xml 文件和标记文件本身放在 WEB-INF 目录中,但实际上没有人说明原因。如果我尝试将标记文件移动到另一个目录并更新*.taglib.xml 以指向移动的文件,我会得到以下TagException:
/confirmation/fields/ordersearchalternatives.xhtml @33,42 <s:orderSearchAlternatives> null
javax.faces.view.facelets.TagException: /confirmation/fields/ordersearchalternatives.xhtml @33,42 <s:orderSearchAlternatives> null
at com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:144)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
如果将*.taglib.xml 文件移动到另一个目录并且web.xml 指向该目录,也会发生同样的情况。
只有标签的 XHTML 文件和 taglib 描述符位于 WEB-INF 目录中时,它似乎才有效。我想要实现的是在其中包含 taglib 描述符以及标签的 XHTML 文件,例如resources 目录并让 web.xml 文件指向它。
- 这可能吗?
- 这完全不符合最佳实践吗?
【问题讨论】:
标签: jsf jsf-2 facelets taglib jsf-2.2