Struts2将空字符串参数转换为"int"

par*_*yle 4 java struts2 type-conversion

如何使用Struts2将空字符串转换为int.当应用程序遇到没有值的此参数时,例如从空文本字段,它会抛出以下异常.

java.lang.NoSuchMethodException:
com.XXXXXXXXXXXX.setID([Ljava.lang.String;)
Run Code Online (Sandbox Code Playgroud)

其中ID是整数,URL是:

Something.action?ID =&其它= RAWR

有没有办法在不使用Integer(类)的情况下执行此操作?我必须写一个类型转换器吗?

chi*_*uit 5

如果将id参数声明为Integer struts,则会将空字符串转换为null.

public void setId(Integer id){ 
...
}
Run Code Online (Sandbox Code Playgroud)

来自:http://struts.apache.org/2.0.14/docs/type-conversion.html#TypeConversion-NullandBlankValues

空值和空白值

某些属性不能设置为null.像boolean和int这样的基元不能为空.如果您的操作需要或将接受null或空值,请使用对象等效Boolean和Integer.类似地,不能在基元上设置空白字符串"".在撰写本文时,也无法在BigDecimal或BigInteger上设置空字符串.使用服务器端验证可防止在属性上设置无效值(或适当处理转换错误).