【发布时间】:2016-09-22 07:55:49
【问题描述】:
我有一个带有 struts2 表单的 jsp,它有一个类型为 number 的输入小部件,如果我清空这个小部件然后提交到表单,在 struts 中(在我的验证方法之前)我在调试日志中得到这个:
19:10:30,734 ERROR [com.opensymphony.xwork2.interceptor.ParametersInterceptor.error:34] Developer Notification (set struts.devMode to false to disable this message):
Unexpected Exception caught setting 'someDto.intCol' on 'class mypackage.MyAction: Error setting expression 'someDto.intCol' with value ['', ]
我想捕获这个异常(“意外异常”)做一些事情,然后在验证器中(在操作中)使用 ActionSupport 类中的 addFieldError 设置错误,
感谢您的帮助:)
编辑:
dto 类:
public class SomeDto() {
private Integer intCol; //{with getters&setters}
问题在于,当用户清除 Form(在 jsp 中)中的输入时,struts 会尝试将 [''](或 String 为空)转换为带有 ParametersInterceptor 类的 Integer(如日志中所示)排队)。
所以,dto 有 getter 和 setter。
【问题讨论】:
-
intCol 变量的数据类型是什么?
-
为此,您需要另一个参数拦截器。您需要发布 MCVE,因为没有它,问题就离题了。
-
你缺少二传手
标签: java validation jsp struts2