Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 从WebLogic中的共享库访问Facelets文件_Jsf 2_Weblogic_Shared Libraries_Facelets - Fatal编程技术网

Jsf 2 从WebLogic中的共享库访问Facelets文件

Jsf 2 从WebLogic中的共享库访问Facelets文件,jsf-2,weblogic,shared-libraries,facelets,Jsf 2,Weblogic,Shared Libraries,Facelets,我们正在尝试主应用程序访问WebLogic中部署的共享库中的公共Facelets文件 公共Facelets文件位于共享库中的以下路径中: META-INF->resources->common-ac->HelloWorld.xhtml META-INF->resources->common ac->HelloWorld.xhtml 我们通过以下方式在主应用程序页面中访问: <ui:include src="/common-ac/HelloWorld.xhtml" /> 但是,

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

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

META-INF->resources->common-ac->HelloWorld.xhtml 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)
javax.faces.view.facelets.TagAttributeException:/…public/Home.xhtml@47,50无效路径:/common ac/HelloWorld.xhtml
位于com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:125)

这是如何造成的,我如何解决它?

只有在Servlet 3.0之后才支持使用JAR的
/META-INF/resources
作为共享webapp资源。因此,只要您将您的webapp部署到一个与Servlet 3.0兼容的容器(例如WebLogic 12),该容器具有声明为符合Servlet 3.0规范的
web.xml
,那么它就应该能够满足要求


但是,如果您正在将您的webapp部署到非Servlet 3.0容器(例如WebLogic 11或更早版本),或者无法声明您的
web.xml
conform Servlet 3.0规范,或者目标容器暴露了从JAR解析资源的错误(例如早期JBoss 6版本),然后,您需要创建一个定制的Facelets资源解析程序,如下面的回答所述:

这是一个与Servlet 3.0兼容的webapp吗?问题是不会,但你们永远不会知道WebLogic我们的web.xml定义为2.4,但我们使用JSF2.1