struts2 接收参数问题

struts2 接收参数问题, 一个实体类中有一个属性为int 类型。 在前台页面当中这个属性不是必须的。可以为空。当为空时候,在struts2 接收参数 get set 的时候会报类型转换失败。 有什么好的解决方案吗。

0

4个回答

两种解决方案:
方案一:
属性类型修改为Integer,此时如果为空时,插入数据库的值为null

方案二:
修改set方法
[code="java"]
public void setPropt(String propt){
if(propt!=null&&propt.length()>0)
this.propt = Integer.parseInt(propt);
}
[/code]
此时如果为空时,插入数据库的值为0

0

简单啊,在使用这个属性的值前先 判断是否为空就可以了,或者自己直接用request.getParameter("xx")自己得到属性的值,然后判断是否为空

0
mcdowell123
mcdowell123 你的思路就有点业余了。我要有多个属性我不是要写多个request..... , 而且还要自己转换类型。
6 年多之前 回复

把你的实体类里int给成Integer试试?

0
zuoshang
zuoshang struts2有没有提供这方面的功能选项倒真就不清楚了。把struts默认的处理参数的拦截器给重写了?……好像更麻烦
6 年多之前 回复
mcdowell123
mcdowell123 这是一种解决方法。我也是这么想的。或者用类型转换器也是可以的。还有其他解决方法吗?
6 年多之前 回复

int是原始类型,如果没有对应的值,则会出错。此时应该考虑用Integer来接收,这时如果没有值进来,则对应的值会自动设置为NULL。而你要做的,只是判断这个值是否为NULL,就完事了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!