2

これは私たちの最初の JSF アプリであり、グラフィック デザイナーの CSS を facelets ファイルに統合している最中です。彼は、input タグのnameおよびid属性をlabel タグのfor属性と同じにする必要があると私に言いました。

彼の要求:

<label for="username">User Name:</label>
<input id="username" type="text" name="username" />

ただし、JSF コードが HTML をレンダリングすると、これらの属性に余分な識別子が含まれます。

私のfaceletコード:

<label for="username">User Name:</label>
<h:inputText value="#{login.username}" id="username" name="username" />

ブラウザーに送信される最終的な XHTML:

<label for="username">User Name:</label>
<input id="j_id2:username" type="text" name="j_id2:username" />

JSF の観点からは理にかなっていますが、グラフィック デザイナーの要求を満たし、全員を満足させる方法はありますか? それとも、これは悪い JSF の見落としですか?

ありがとう!

4

1 に答える 1

5

ID を自動的に処理する JSF outputLabel タグを使用できます。

<h:inputText id="username">
    <h:outputLabel for="username" value="User Name: "/>
</h:inputText>

編集:混乱を避けるために:outputLabelをinputText要素の外に置くこともできます。ほとんどこんな感じで使っています。

于 2008-10-13T16:49:39.753 に答える