0

Web アプリケーションを icefaces 1.8 から Icefaces 3.x に、jsf 1.2 から jsf 2 にアップグレードしています。既存のポップアップを開くたびに、次のメッセージが表示されます。

「警告: このページはプレフィックス スタイルで宣言された XML 名前空間を呼び出しますが、その名前空間のタグ ライブラリは存在しません。」

もちろん、これは次のように示されています。

<ice:messages
    globalOnly="true"
    styleClass="graRequired" />

これらは私が使用する名前空間です:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:gra="http://www.gravitant.com/components">

これに数時間を費やしましたが、この問題の原因を突き止めることができませんでした。

似たようなものに出会った人はいますか?

4

1 に答える 1

1

警告: このページは、プレフィックス スタイルで宣言された XML 名前空間を呼び出しますが、その名前空間のタグ ライブラリは存在しません。

<style>これは、デフォルトの XML 名前空間を として宣言せずにプレーンな HTML 要素を使用している場合に発生する可能性がありますxmlns="http://www.w3.org/1999/xhtml"<ui:composition>ただし、質問のスニペットで既に宣言しているため、これはありそうにありません。

もう 1 つの考えられる原因はstyle:、XML 要素または属性でリテラル文字列を使用していることです。これは、XML 名前空間プレフィックスを示します (h:標準 JSF コンポーネント セットの XML 名前空間プレフィックスやice:ICEfaces コンポーネント セットの XML 名前空間プレフィックスと同様)。

そのような XML 名前空間を意識的に宣言しておらず、「スタイル」が標準の HTML 要素属性として認識されていることを考えると、XHTML ファイルのどこかで誤って以下を使用したことを強く示唆しています。

<someElement style:"bar">

それ以外の

<someElement style="bar">

Ctrl+F をオンにしてstyle:、それに応じて修正してください。

于 2013-11-19T12:13:09.560 に答える