子文件夹中的复合组件

时间:2014-09-18 15:24:15

标签: jsf composite-component myfaces

我遇到了复合组件的问题。我不太确定这是一个使用过的库中的错误,还是我自己对此事的无知。如果我把组件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的未映射资源处理程序有关,可能只是一个我无法弄清楚的参数。也许有人可以在这里给我一个提示?

我正在使用(其中包括):

  • Apache MyFaces 2.2.4
  • Omnifaces 1.8.1
  • Primefaces 5.0
  • Tomcat 8.0.12

编辑2 将答案移至回复

1 个答案:

答案 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