1
我有一個表單輸入文本綁定到綁定到的窗體的Integer字段的問題。如果我在輸入文本中輸入了錯誤的數字(例如:「12b」),我有一個綁定異常。所以,我設置我的控制器@InitBinder這樣:Spring MVC:manage BindingException
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Integer.class, new CustomIntegerBinder());
}
凡CustomIntegerBinder被實現如下:
public class CustomIntegerBinder extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
try {
setValue(Integer.parseInt(text));
} catch (Exception e) {
//I WANT TO ADD ERROR TO THE ERROR LIST!
}
}
@Override
public String getAsText() {
return getValue().toString();
}
}
我的問題是:我怎麼能在添加消息錯誤的成功錯誤列表,以便轉換錯誤不會導致應用程序崩潰,而是要在jsp中的「errors」標記中打印一條消息?
謝謝!
_If you _... throw? – jelies 2012-07-31 08:37:44
@jelies謝謝,修正 – MattR 2012-07-31 08:39:06
我沒有嘗試,但我有瀏覽器中的堆棧跟蹤報告IllegalArgumentException。在堆棧跟蹤中,我可以閱讀: 「對象中的字段錯誤... java.lang.IllegalArgumentException:錯誤的值」 也就是說,在堆棧跟蹤中,我擁有所有需要的信息(關於字段和錯誤的類型),但我不知道我是否阻止在瀏覽器中打印堆棧跟蹤,以及如何獲取有關錯誤的信息並將它們添加到錯誤列表中。 – Ulisse 2012-07-31 08:50:49