Hの異なる結果:JSF 1.1からJSF 1.2への移行後のメッセージ
-
28-10-2019 - |
質問
6.0 + JSF 1.1から7.0 + JSF 1.2に移行した後のページレンダリングに問題があります。主な問題は次のコードです。
<h:messages rendered="#{!webData.facesMessagesEmpty}" styleClass="messages"
showSummary="true" showDetail="false" title="Messages" layout="table" id="eMessages"
infoClass="info_with_icon" warnClass="warn_with_icon" errorClass="error_with_icon"
fatalClass="fatal_with_icon" />
このコードは正しく機能します。私は少し調査しましたが、この問題はレイアウト= "テーブル"のみであることがわかりました。 layout = "list"を使用する場合、スタイルは問題ありません。残念ながら、ここでテーブルが必要です(layout = "list"がインデントを作成するため、これをaviodする方法はありません)。また、JSF 1.1とJSF 1.2の場合、レイアウト= "テーブル"の場合に生成されたHTMLコードが生成されたことがわかりました。
私の質問 - 古いスタイル(JSF 1.1)のHTML生成を7.0 + JSF 1.2で強制することは可能ですか?私はそれをグーグルしようとしましたが、答えが見つかりません...
解決
一言で言えば、JSF 1.1が配置されます infoClass
およびaの配偶者 <span>
内側 <td>
, 、しかし、JSF 1.2はそれを置きます <tr>
.
でサポートされていない非常に特定のCSSプロパティを使用しているように見えます <tr>
エレメント。その場合、あなたは基本的に2つのオプションです。
CSS宣言を変更して適用します
<td>
代わりは。.info_with_icon_messages td { /* ... */ }
変更
<h:messages>
alist
生成されたクラスのクラスに次のCSSプロパティを追加します<ul>
, 、あなたの場合.messages
, 、弾丸とインデントを削除するには:.messages { list-style-type: none; margin: 0; /* ... */ }
所属していません StackOverflow