34

EclipseJSFプロジェクトを他のコンピューターのApacheTomcatで実行しようとしています。このチュートリアルで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>
4

2 に答える 2

36

このXMLファイルには、スタイル情報が関連付けられていないようです。ドキュメントツリーを以下に示します。

text/xmlクライアント(Webブラウザ)が何らかの理由でHTMLドキュメントを表すHTTP応答コンテンツを代わりに解釈し、解析されたXMLツリーにXMLスタイルシートtext/htmlがない場合、クライアント側でこのメッセージが表示されます。つまり、Webブラウザーは、取得されたHTTP応答コンテンツをHTMLではなくXMLとして解析しました。これは、HTTP応答コンテンツタイプが欠落しているか、正しくないためです。

デフォルトの拡張子が。のJSF/Faceletsファイルの.xhtml場合、HTTPリクエストがを呼び出さなかったFacesServletためにFaceletsファイルを解析できず、XHTMLに基づいて目的のHTML出力を生成できなかった場合に発生する可能性があります。ソースコード。.xhtmlその場合、Firefoxは、Firefox構成にあるファイル拡張子に基づいてHTTP応答コンテンツタイプを推測しているだけです。これは、デフォルトでとして解釈されるようtext/xmlです。

ブラウザのアドレスバーに表示されるHTTPリクエストURLが、 webappに登録されて<url-pattern>いるものと一致していることを確認する必要があります。これにより、HTTPリクエストURLが呼び出され、XHTMLソースコードに基づいて目的のHTML出力を生成できるようになります。たとえば、の場合は、の代わりにでページを開く必要があります。または、をに変更することもできます。このようにして、仮想URLをいじる必要はありません。FacesServletweb.xml*.jsf/some.jsf/some.xhtml<url-pattern>*.xhtml

参照:


したがって、実際にはXMLスタイルシートは必要ないことに注意してください。あなたの特定のケースでは、取得されたHTTP応答コンテンツから何かを提示できるようにするために最善を尽くそうとしている間、それはWebブラウザからの単なる誤解でした。

于 2013-02-11T13:03:18.110 に答える
10

次のように、xmlns ="http://www.w3.org/2000/svg"属性をsvgタグの先頭に追加します。<svg xmlns="http://www.w3.org/2000/svg"

于 2021-08-11T21:45:59.863 に答える