我在将表单输入文本绑定到表单绑定到的 bean 的 Integer 字段时遇到问题。如果我在输入文本中输入了错误的数字(例如:“12b”),我会遇到绑定异常。所以,我以这种方式在我的控制器中设置了一个@InitBinder:
@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 的“错误”标签中打印消息?
谢谢!