Oracle ADFを使う側が悪いのか、

例外発生時、Oracle ADF には、もっと判りやすいメッセージを出して欲しいものだ。

jspx に書くrender属性を例えば、

 <trh:tableLayout rendered="#{entity_foo.renderNaviButton}">

という記述に対して、以下のようにする。
エンティティ Bean
// entity_foo が指す JavaBean でレンダリング
   private boolean renderNaviButton;
   public boolean isRenderNaviButton(){
      return this.renderNaviButton;
   }
   public void setRenderNaviButton(boolean renderNaviButton){
      this.renderNaviButton = renderNaviButton;
   }

----------
Backing Bean レイアウト実行する時に、以下のように実行する。

   this.entity.setRenderNaviButton(false); // 非表示

このとき、jspx のrendered値とエンティティBeanのメソッド名が
マッチしない時、→スペルミスすると、一瞬、何が起きたのか困惑する
Exception が発生して、

スペルミスという初歩的なミスに気づきにくい。

####<2010/04/15 20時40分10秒 JST> <Error> <HTTP> <URAN03390> <AdminServer> 
<[ACTIVE] ExecuteThread: '10' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1271331610015> <BEA-101020> 
<[ServletContext@13280762[app:ViewController module:ViewController.war path:/uran spec-version:2.5]]
 サーブレットは例外により失敗しました。
javax.el.PropertyNotFoundException: Missing Resource in EL implementation
: ???propertyNotReadable???
   at javax.el.BeanELResolver.getValue(BeanELResolver.java:252)
   at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
   at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
   at com.sun.el.parser.AstValue.getValue(AstValue.java:118)
   at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
   at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
   at org.apache.myfaces.trinidad.component.UIXComponentBase
.getBooleanProperty(UIXComponentBase.java:1193)
   at org.apache.myfaces.trinidad.component.UIXComponentBase
.isRendered(UIXComponentBase.java:419)
   at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml
.PanelGroupLayoutRenderer._encodeChildren(PanelGroupLayoutRenderer.java:142)
   at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml
.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:106)
   at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
   at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
   at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
   :
   長いので省略。。


スペルミスを発生させない開発にしたいのだが、Oracle ADF 使うどうのこうの問題でないことは
判ってはいるのだが、
愚痴りたくなる。