0

顔メッセージの表示をカスタマイズしたいと思います。

このため、

<h:inputText id="name" required="true" />

検証が失敗すると、

<h:message for="name" />

ただし、プレゼンテーション呼び出し JS を次のようにカスタマイズしたいと思います。

<div class="notification"></div>
function showNotification(msg){
$(".notification").html(msg);
$(".notification").fadeIn(1000, function(){
    timeout = setTimeout(function(){
        $(".notification").fadeOut(1000);
    }, 5000);
});
}

どうすればこれを達成できますか?

4

1 に答える 1

0

FacesContext#getMessageList()必要に応じて、特定のクライアント ID のメッセージをビューで取得するために使用できます。でそれらを反復処理できますui:repeat。各アイテムは、FacesMessageいくつかのゲッターを持つ です。を使用して、メッセージ内の任意の HTML をエスケープせずに表示できます<h:outputText escape="false">

つまり、一言で言えば:

<ui:repeat value="#{facesContext.messageList('form:name')}" var="message">
    <div><h:outputText value="#{message.summary}" escape="false" /></div>
</ui:repeat>

(上記の例では、フォームに があると想定していますid="form"

または、その HTML ヘルプ リンクが実際にはメッセージの一部でない場合は、次のようになります。

<ui:repeat value="#{facesContext.messageList('form:name')}" var="message">
    <div>#{message.summary} <a href="help.xhtml">help</a></div>
</ui:repeat>
于 2012-11-23T01:54:41.450 に答える