gpt4 book ai didi

java - Spring MVC : manage BindingException

转载 作者:行者123 更新时间:2023-12-01 05:13:13 25 4
gpt4 key购买 nike

将表单输入文本绑定(bind)到表单所绑定(bind)的 bean 的 Integer 字段时遇到问题。如果我在输入文本中写了错误的数字(例如:“12b”),则会出现绑定(bind)异常。因此,我以这种方式在 Controller 中设置了 @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 中的“errors”标记中打印一条消息?

谢谢!

最佳答案

如果无法从文本设置值,setAsText 方法应抛出 IllegalArgumentException(如方法签名所示)。

如果您从 catch 中抛出 IllegalArgumentException,那么 Spring 应该为您添加错误。

关于java - Spring MVC : manage BindingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com