【问题标题】:Composite Components in subfolders子文件夹中的复合组件
【发布时间】:2014-11-13 00:45:12
【问题描述】:

我在使用复合组件时遇到问题。我不太确定这是使用过的库中的一个错误,还是我自己对此事的无知。如果我将组件 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 将答案移至回复

【问题讨论】:

  • 只需禁用UnmappedResourceHandler 即可将其排除在外。
  • 您好,谢谢您的回复。我很确定我昨天试过了。但现在它对事业没有任何作用。但是,我找到了解决方案(我将在问题中进行编辑)。有时只是去睡觉并在第二天再次检查问题会有所帮助。
  • 太好了。但是您不应该将答案放在问题中,而应将其作为答案发布。

标签: jsf composite-component myfaces


【解决方案1】:

好的 - 睡了一晚后,我发现这与 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

【讨论】:

    猜你喜欢
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多