私は問題があります。ページにグローバル エラーがあるかどうかを知る必要があります。これは、2 つの異なるh:messages
(エラー コンテナー) があるためです。
<h:messages id="errorMsgsContainer"
layout="table"
rendered="true"
styleClass="message-container error-message"
infoClass="info"
errorClass=" error" warnClass="warn-message warn" globalOnly="true"/>
<h:messages id="errorMsgsContainerValidation"
layout="table"
styleClass="message-container error-message-validation"
infoClass="info"
errorClass="error" globalOnly="false"/>
1 つはビジネス関連のメッセージを表示し、もう 1 つは検証メッセージのみを表示します。messages
ビジネス要件のため、2 つ存在します。
messages
検証エラー メッセージが生成された場合、タグの 1 つにglobalOnly="true"
属性と値のペアがあるため、facelet は正常に動作します。
グローバルのみのエラーが発生したときに問題が発生します。両方のボックスに表示されます。
エラーのいずれかがグローバルかどうかを知りたいので、ユーザーがフォームでグローバル エラーを修正するまで、検証コンテナーを表示しません。
私はそれを介してそれを取得しようとしましFacesContext
た
FacesContext.getCurrentInstance().getMessageList().get(i).getSeverity()
および他のいくつかのコマンドですが、機能していないようです。
この問題を解決するのを手伝ってください。現在のグローバル メッセージ リストを取得して、グローバル エラーがあるかどうかを知るにはどうすればよいですか?