ミランコビッチ (プログラマー)のブログ

プログラムのこととか適当に

JSF2.0でcssのid指定で嵌ったのでメモ

■JSF2.0で自動作成されるidに「:」が入っているのでcssのIDセレクタ名に使用できない。

<h:form id="form1">
<h:inputText id="gid" value="hoge" /><br />     
</h:form>

こう書くと、作成されるhtmlは

<input id="form1:gid"/>

となってcss

#form1:gid { width: 300px; }

と書いても認識されない。

web.xmlに下記パラメータを追加し、idとidの接続文字列を変更する。

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

 出来上がるhtmlが「<input id="form1:gid"/>」→「<input id="form1_gid"/>」に変更されるのでcssを変更する。

 styleClassでも変更できた気がするが使い分けって何か基準があるのかな?

 

CDI化で嵌る

jsf2.0は1.2と違ってアノテーション使ってxhtmlとjavabeanを紐付けることができるのでラクチン。

その管理をjsfからCDIに移せるらしいので、やってみたが上手くいかないorz

土日にチョット頑張るかなー