Google Prettify

2009-06-11

Conversion Error setting value "{0}" for "{1}

在寫JSF時,有時候會遇到一些言不及意的錯誤訊息,在這種時候,就算知道在那一行出錯,你也很難看得出來這錯誤是什麼。
例如:
java.lang.IllegalArgumentException:
  Conversion Error setting value ''{0}'' for ''{1}''.
  com.sun.faces.util.Util.getSelectItems(Util.java:628)
  com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:488)
  com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:465)
  com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:430)
  javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
  com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:443)
  com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:233)
...more...
以上的錯誤訊息,並沒有告訴你他無法正確地取值,反而像是在說什轉換錯誤。會發生這種錯誤的原因有很多種,illegalArgumentException與Conversion Error只是結果。你可以確認一下以下清單:
  1. Value binding的回傳值是否正確;getter是否為或不為null?
  2. 語法上是否有錯?是否多了一個單引號?或是「}」寫成「)」。(我就花在一個單引號上花了3個小時= =")
參考

沒有留言 :

您或許對這些有興趣

Related Posts with Thumbnails

最後

謝謝您的閱讀,希望您可以有豐富的收獲。