|
JSF(Java Server Faces)のトラブルシューティングメモ |
ここに書いてある原因と解決策はあくまで私がやったミスとその解決策であり、
その現象に対する原因や解決策がすべて書いてあるというわけではありませんのでご注意下さい!
-
javax.faces.el.PropertyNotFoundException:
Error testing property '***' in bean of type null
・例えば、EL式で${shitenMB.newRecord.***}のような式を書いているとします。
これはJavaコードで「getShitenMB().getNewRecord().get***()」と展開されますが、
getNewRecord()がnullを返すとこのエラーになります。
つまり途中でヌルポするので、末端のプロパティにたどり着けないという意味です。
なお、私にとってこれを解決してくれたところの
www.jsf-faq.comには、
他にも沢山のトラブルシューティングFAQが載っており、たいへん参考になります。
-
h:commandButtonタグを展開したSubmitボタンが効かない(押しても動作しない)
「ページのソースを表示」でHTMLを見ると、SubmitボタンがFORMタグで囲まれていない場合、
本当にh:formタグで囲むのを忘れているか、またはh:formの前に(外に)、
h:なにがしというタグ(h:messagesなど)を書いているのが原因です。
h:なにがしはh:formタグの中に書きます。
-
カスタムバリデータによるバリデーションが行われない
・JSFでは、値が未入力(空欄)だとバリデーションは行われません。
-
カスタムバリデータのタグで「javax.faces.FacesException: Expression Error: Named Object: '***' not found.」が発生する
・そのidを持つValidatorTagクラスがTLDに記述されていない、
またはそのTLDをtaglibディレクティブで宣言していない。
-
MBeanのメソッドコール時に、定義しているのにMethodNotFoundExceptionが発生する
・MBeanをfaces-config.xmlに書いていない。
(first uploaded 2006/03/20 last updated 2006/04/29, URANO398)
|