Jsf WEB-INF目录外的Facelets标记库?

Jsf WEB-INF目录外的Facelets标记库?,jsf,jsf-2,facelets,taglib,jsf-2.2,Jsf,Jsf 2,Facelets,Taglib,Jsf 2.2,我正在尝试创建facelets标记库。到目前为止,我读过的每一篇教程都告诉我将*.taglib.xml文件和标记文件本身放在WEB-INF目录中,但没有一篇真正说明原因。如果我尝试将标记文件移动到另一个目录并更新*.taglib.xml以指向移动的文件,我会得到以下TagException: /confirmation/fields/ordersearchalternatives.xhtml @33,42 <s:orderSearchAlternatives> null javax

我正在尝试创建facelets标记库。到目前为止,我读过的每一篇教程都告诉我将
*.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)
/confirmation/fields/ordersearchAlternations.xhtml@33,42 null
javax.faces.view.facelets.TagException:/confirmation/fields/ordersearchAlternations.xhtml@33,42 null
位于com.sun.faces.facelets.tag.UserTagHandler.apply(UserTagHandler.java:144)
位于javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
位于com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
如果将
*.taglib.xml
文件移动到另一个目录,并且
web.xml
指向该目录,也会发生同样的情况

只有当标签的XHTML文件和taglib描述符位于
WEB-INF
目录中时,它才起作用。我想要实现的是将taglib描述符以及标记的XHTML文件放在
resources
目录中,并将
web.xml
文件指向它

  • 可能吗
  • 这完全不是最佳做法吗

也许这对其他人有帮助:我不知道如何在
WEB-INF
目录之外托管标记库。
web.xml
中的
javax.faces.FACELETS\u库
上下文参数告诉JSF在给定位置查找一个或多个特定的
.taglib.xml
文件。这些目录都是相对于
web
目录的

<context-param>
  <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
  <param-value>/shared/taglibs/y.taglib.xml;/other/taglibs/x.taglib.xml</param-value>
</context-param>

javax.faces.FACELETS\u库
/shared/taglibs/y.taglib.xml/其他/taglibs/x.taglib.xml