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
土日にチョット頑張るかなー