Jsf ui:include不能包含具有不同服务器上下文的页面
在我的tomcat中,我定义了两个上下文 一个是我的应用程序URL,它是Jsf ui:include不能包含具有不同服务器上下文的页面,jsf,include,Jsf,Include,在我的tomcat中,我定义了两个上下文 一个是我的应用程序URL,它是 http://localhost:8080/mysite/faces/abc.xhtml 另一个用于放置我的所有静态文件,这些文件可能被其他应用程序使用 http://localhost:8080/files/myfile.html 例如,在我的application.xhtml文件中,我希望包含来自其他上下文的页面 但我总是犯错误 javax.faces.view.facelets.TagAttributeExcept
http://localhost:8080/mysite/faces/abc.xhtml
另一个用于放置我的所有静态文件,这些文件可能被其他应用程序使用
http://localhost:8080/files/myfile.html
例如,在我的application.xhtml文件中,我希望包含来自其他上下文的页面
但我总是犯错误
javax.faces.view.facelets.TagAttributeException:……无效路径:/files/myfile.html
看起来ui:include不适合在这里使用,因为它只查找与上下文相关的路径。那么我应该使用什么呢?有几个选项:
/web-INF/lib
中作为JAR结束。将Facelets资源放在单独web片段项目的/META-INF/resources
文件夹中。它将以通常的方式提供给
:com.sun.facelets.impl.DefaultResourceResolver
:javax.faces.view.facelets.ResourceResolver
:javax.faces.application.ResourceHandler
:有几种选择:
/web-INF/lib
中作为JAR结束。将Facelets资源放在单独web片段项目的/META-INF/resources
文件夹中。它将以通常的方式提供给
:com.sun.facelets.impl.DefaultResourceResolver
:javax.faces.view.facelets.ResourceResolver
:javax.faces.application.ResourceHandler
:感谢巴卢斯!iframe可以完全满足我的需要。第二个选项对我无效,因为我有其他后端应用程序,它们将动态生成静态html页面,这些页面应该可以从我的web应用程序中看到。@BalusC如果我想在JSF页面中加载外部html资源,该怎么办?这是我的问题,自定义资源解析程序也是解决方案吗@库克杰:真的。谢谢巴卢斯克!iframe可以完全满足我的需要。第二个选项对我无效,因为我有其他后端应用程序,它们将动态生成静态html页面,这些页面应该可以从我的web应用程序中看到。@BalusC如果我想在JSF页面中加载外部html资源,该怎么办?这是我的问题,自定义资源解析程序也是解决方案吗@库克杰:的确。