隨筆-348  評論-598  文章-0  trackbacks-0
          今天開發(fā)的測試的時候碰到一個問題,就是用Myfaces的SelectOneRadio空間的時候,頁面第一次展現(xiàn)沒問題,當(dāng)我使用上一步切換tab再下一步的時候就拋出了異常,異常如下:
          Caused by: javax.faces.convert.ConverterException: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
          cannot be cast to java.lang.Boolean
          at javax.faces.convert.BooleanConverter.getAsString(BooleanConverter.java:91)
          at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:630)
          at org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase.encodeEnd(HtmlRadioRendererBase.java:91)
          at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:624)
          ... 110 more
          Caused by: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
          cannot be cast to java.lang.Boolean
          at javax.faces.convert.BooleanConverter.getAsString(BooleanConverter.java:87)
          ... 113 more

          后來在國外網(wǎng)站上面找到了問題所在:

          Hello,

          the problem still exists in MyFaces Core 1.2.6.

          I have a selectOneMenu with a value binding to a boolean property.

          In the boolean converter the ClassCastException still occurs.

          ...
          Caused by: javax.faces.convert.ConverterException: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
          cannot be cast to java.lang.Boolean
          at javax.faces.convert.BooleanConverter.getAsString(BooleanConverter.java:91)
          at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:630)
          at org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase.encodeEnd(HtmlRadioRendererBase.java:91)
          at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:624)
          ... 110 more
          Caused by: java.lang.ClassCastException: org.apache.myfaces.shared_impl.renderkit.RendererUtils$1
          cannot be cast to java.lang.Boolean
          at javax.faces.convert.BooleanConverter.getAsString(BooleanConverter.java:87)
          ... 113 more

          In RendererUtils there are some tests that value equals NOTHING. However the equals method
          of the NOTHING-Serializable isn't overriden. Therefore it has no effect.

          Overriding the equals method as in the patch of paul works.


          有些東西沒有實現(xiàn),導(dǎo)致了這個問題。這個可能需要你自己簡單實現(xiàn)一下源文件然后編譯成庫文件了,感覺麻煩就換成了SelectOneMenu了。
          后面有時間再看了





          ---------------------------------------------------------
          專注移動開發(fā)

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2009-12-03 20:34 TiGERTiAN 閱讀(1317) 評論(0)  編輯  收藏 所屬分類: JavaJSF
          主站蜘蛛池模板: 鲜城| 北宁市| 东乌| 郯城县| 德庆县| 巫溪县| 长垣县| 肇东市| 青海省| 江油市| 吉木乃县| 五莲县| 鹤庆县| 子洲县| 安塞县| 麻阳| 苗栗市| 桃园市| 云梦县| 南丰县| 武清区| 波密县| 龙州县| 昌乐县| 桃园县| 仪陇县| 建湖县| 当雄县| 逊克县| 龙里县| 松原市| 双流县| 锡林郭勒盟| 邹城市| 疏勒县| 手机| 瑞安市| 微山县| 电白县| 陕西省| 堆龙德庆县|