gpt4 book ai didi

jsf - 用户界面 :include can not include pages with different server context

转载 作者:行者123 更新时间:2023-12-04 18:14:37 25 4
gpt4 key购买 nike

在我的 tomcat 中,我定义了两个上下文。

一个是我的应用程序 URL,即
http://localhost:8080/mysite/faces/abc.xhtml
另一个用于放置我所有可能被其他应用程序使用的静态文件。
http://localhost:8080/files/myfile.html
例如,在我的应用程序 .xhtml 文件中,我想包含来自其他上下文的页面
<ui:include src="/files/myfile.html">
但我总是出错
javax.faces.view.facelets.TagAttributeException:.....Invalid path : /files/myfile.html
看起来 ui:include 不适合在这里使用,因为它只查找与上下文相关的路径。那我应该用什么?

最佳答案

有几种选择:

  • 使用<iframe>反而。
  • 将共享文件重构为一个单独的 Web 片段项目,该项目最终应为 /WEB-INF/lib 中的 JAR两个网络应用程序。将 Facelets 资源放入 /META-INF/resources单独的 Web 片段项目的文件夹。可用于 <ui:include>常用方式:Structure for multiple JSF projects with shared code .
  • 在 JSF 1.x 上,使用自定义 com.sun.facelets.impl.DefaultResourceResolver : How to use Facelets composition with files from another context .
  • 在 JSF 2.x 上,使用自定义 javax.faces.view.facelets.ResourceResolver : how to share a jsf error page between multiple wars .
  • 在 JSF 2.2+ 上时,使用自定义 javax.faces.application.ResourceHandler : Obtaining Facelets templates/files from an external filesystem or database .
  • 关于jsf - 用户界面 :include can not include pages with different server context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965157/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com