gpt4 book ai didi

xml - 打开 JSF Facelets 页面显示 "This XML file does not appear to have any style information associated with it."

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:42 24 4
gpt4 key购买 nike

我正在尝试在其他计算机上的 Apache Tomcat 上运行我的 Eclipse JSF 项目。我用 this tutorial 创建了一个 WAR 文件.但是,当我部署 WAR 并在 Firefox 中打开 Facelet 页面时,我只收到以下错误消息:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

这是我第一次尝试在没有 Eclipse 的情况下运行我的 JSF 应用程序。这是怎么引起的,我该如何解决?

我实际上正在尝试打开以下 Facelet 页面:

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/WEB-INF/templates/template_a.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="title">
tytol
</ui:define>
</ui:composition>

最佳答案

This XML file does not appear to have any style information associated with it. The document tree is shown below.

当客户端(Web 浏览器)出于某种原因将表示 HTML 文档的 HTTP 响应内容解释为 text/xml 时,您将在客户端收到此消息。而不是 text/html并且解析的 XML 树没有任何 XML-stylesheet .换句话说,由于缺少或不正确的 HTTP 响应内容类型,Web 浏览器将检索到的 HTTP 响应内容解析为 XML 而不是 HTML。

对于默认扩展名为 .xhtml 的 JSF/Facelets 文件,如果 HTTP 请求没有调用 FacesServlet,这又会发生因此它无法解析 Facelets 文件并根据 XHTML 源代码生成所需的 HTML 输出。然后 Firefox 只是根据 .xhtml 猜测 HTTP 响应内容类型。 Firefox 配置中的文件扩展名显然默认解释为 text/xml .

您需要确保浏览器地址栏中显示的 HTTP 请求 URL 与 <url-pattern> 匹配的 FacesServlet在 webapp 的 web.xml 中注册, 这样它将被调用并能够根据 XHTML 源代码生成所需的 HTML 输出。例如,如果是 *.jsf , 那么你需要通过 /some.jsf 打开页面而不是 /some.xhtml .或者,您也可以只更改 <url-pattern>*.xhtml .这样您就永远不需要摆弄虚拟 URL。

另见:


因此请注意,您实际上并不需要 XML 样式表。在您的具体情况下,这只是网络浏览器的一种误解,同时试图尽最大努力从检索到的 HTTP 响应内容中呈现一些东西。

关于xml - 打开 JSF Facelets 页面显示 "This XML file does not appear to have any style information associated with it.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804452/

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