【问题标题】:Access Facelets files from shared library in WebLogic从 WebLogic 中的共享库访问 Facelets 文件
【发布时间】:2013-11-08 17:43:19
【问题描述】:

我们正在尝试主应用程序从部署在 WebLogic 中的共享库中访问常见的 Facelets 文件。

常见的 Facelets 文件位于共享库的以下路径中:

META-INF->resources->common-ac->HelloWorld.xhtml

我们在主应用程序页面中访问它:

<ui:include src="/common-ac/HelloWorld.xhtml" /> 

但是,这不起作用,它引发了以下异常:

javax.faces.view.facelets.TagAttributeException: /....public/Home.xhtml @47,50 <ui:include src="/common-ac/HelloWorld.xhtml"> Invalid path : /common-ac/HelloWorld.xhtml
    at com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:125)

这是怎么引起的,我该如何解决?

【问题讨论】:

标签: jsf-2 weblogic shared-libraries facelets


【解决方案1】:

自 Servlet 3.0 起才支持将 JAR 的 /META-INF/resources 用作共享的 webapp 资源。因此,只要您将 Web 应用程序部署到具有声明为符合 Servlet 3.0 规范的 web.xml 的 Servlet 3.0 兼容容器(例如 WebLogic 12),那么它应该可以解决问题。

但是,如果您将 web 应用程序部署到非 Servlet 3.0 容器(例如 WebLogic 11 或更早版本),或者无法声明您的 web.xml 符合 Servlet 3.0 规范,或者目标容器暴露了一个错误从 JAR 解析资源(例如早期的 JBoss 6 版本),那么您需要创建一个自定义 Facelets 资源解析器,如以下答案所述:How to create a modular JSF 2.0 application?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 2012-03-26
    • 2015-04-27
    相关资源
    最近更新 更多