JSFで生成されるid

1.「form」にも「form要素」にもid属性を付与せずに定義

<h:form>
<h:inputText />
</h:form>

■表示
<input type=”text” name=”j_idt7:j_idt8″>
nameが連番で自動生成される。

2.IDを指定した場合

<h:form id=”form1″>
<h:inputText id=”txt”/>
</h:form>

■表示
<input id=”form1:txt” type=”text” name=”form1:txt”>

jqueryで使用する場合
$(“#form1:txt”).val(“テスト”);

2-2.JSFで自動生成されるidの区切り文字(コロン)を変える設定(jsf2.0から?)

web.xml
<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>-</param-value>
</context-param>

■表示
<input id=”form1-txt” type=”text” name=”form1-txt”>

3.FormタグのprependIdをfalseにした場合

<h:form id=”frm” prependId=”false”>
<h:inputText id=”txt”/>
</h:form>

■表示
<input id=”txt” type=”text” name=”txt”>
formのidは付与されずに生成されます。

4.複合コンポーネントの場合

formのidと複合コンポーネントのid、そして複合コンポーネントの内部で定義されたidが連結される。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です