我正在尝试在其他计算机上的Apache Tomcat上运行我的Eclipse JSF项目。 我用this tutorial创建了一个WAR文件。但是,当我部署WAR并在Firefox中打开Facelet页面时,我只收到以下错误消息:
此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。
这是我第一次尝试在没有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>
答案 0 :(得分:22)
此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。
当客户端(webbrowser)由于某种原因将HTTP响应内容解释为text/xml
而不是text/html
并且解析的XML树没有任何内容时,客户端会出现此错误XML-stylesheet。换句话说,由于HTTP响应内容类型错误或缺失,Web浏览器错误地将检索到的HTTP响应内容解析为XML而不是HTML。
如果JSF / Facelets文件的默认扩展名为.xhtml
,那么如果HTTP请求未调用FacesServlet
,则可能会发生这种情况,因此无法解析Facelets文件并根据XHTML源代码生成所需的HTML输出。 Firefox只是根据.xhtml
文件扩展名猜测HTTP响应内容类型,该文件扩展名在Firefox配置中显然默认解释为text/xml
。
您需要确保您在浏览器的地址栏中看到的HTTP请求网址与在webapp的<url-pattern>
中注册的FacesServlet
的{{1}}相匹配,以便它被调用并能够基于XHTML源代码生成所需的HTML输出。如果是web.xml
,那么您需要按*.jsf
而不是/some.jsf
打开该页面。或者,您也可以将/some.xhtml
更改为<url-pattern>
。这样您就不需要使用虚拟URL。
因此请注意,您实际上并不需要XML样式表。这一切只是在试图尽力使用检索到的HTTP响应内容中呈现出一些东西时,对webbrowser的误解。它实际上应该检索到正确生成的HTML输出,Firefox肯定知道如何处理HTML内容。
答案 1 :(得分:0)
将 xmlns="http://www.w3.org/2000/svg" 属性添加到 svg 标签的开头,如下所示:Sub RefreshQueries()
Dim counter As Byte
counter = 0
'Range with query names
Dim rQueries As Range
Dim rQuery As Range
Dim wsQueries As Worksheet
Set wsQueries = ThisWorkbook.Worksheets("Query list")
Set rQueries = wsQueries.Range("a2:a" & wsQueries.Range("a1048576").End(xlUp).Row)
wsQueries.Range("b1") = "Refreshed"
For Each rQuery In rQueries
If counter = 10 Then Exit For 'if more than 10 queries refreshed then exit loop
'If query is refreshed then omit it and go to next
If rQuery.Offset(0, 1) <> "Yes" Then
ThisWorkbook.Connections(rQuery.Value).Refresh
rQuery.Offset(0, 1) = "Yes"
counter = counter + 1
End If
Next rQuery
End Sub
答案 2 :(得分:-1)
如果您正在使用Eclipse,那么有很多简单的方法可以创建战争。 1-右键单击您的项目 2-然后选择Export-&gt; WAR File 3-它将显示Web项目名称,现在提供您要保存war文件的目的地。 4-如果要导出源文件,请选中导出源文件选项。 5-然后点击完成。
多数民众赞成你将获得你的项目战争文件并复制此战争并放入Tomcat Webapps目录并启动服务器。