我遇到了复合组件的问题。我不太确定这是一个使用过的库中的错误,还是我自己对此事的无知。如果我把组件bar.xhtml文件放在
中WebContent/resources/foo/bar.xhtml
一切都按预期工作。但如果我把它们放进去
WebContent/resources/subfolder/foo/bar.xhtml
它们只是没有显示,我收到了消息:
页面/login.xhtml声明了名称空间http://java.sun.com/jsf/composite/subfolder/foo并使用了标签foo:bar,但没有与名称空间关联的TagLibrary。
我怀疑它与Omnifaces的未映射资源处理程序有关,可能只是一个我无法弄清楚的参数。也许有人可以在这里给我一个提示?
我正在使用(其中包括):
编辑2 将答案移至回复
答案 0 :(得分:3)
好的 - 在睡了一晚之后,我发现这与Omnifaces没什么关系,但自从2.1.6以来MyFaces发生了变化。从那时起,您必须在web.xml中添加以下内容:
<context-param>
<param-name>org.apache.myfaces.STRICT_JSF_2_ALLOW_SLASH_LIBRARY_NAME</param-name>
<param-value>true</param-value>
</context-param>
(找到here)