问题描述
struts2 接收参数问题, 一个实体类中有一个属性为int 类型。 在前台页面当中这个属性不是必须的。可以为空。当为空时候,在struts2 接收参数 get set 的时候会报类型转换失败。 有什么好的解决方案吗。
解决方案
两种解决方案:方案一:属性类型修改为Integer,此时如果为空时,插入数据库的值为null方案二:修改set方法public void setPropt(String propt){ if(propt!=null&&propt.length()>0) this.propt = Integer.parseInt(propt);}此时如果为空时,插入数据库的值为0
解决方案二:
int是原始类型,如果没有对应的值,则会出错。此时应该考虑用Integer来接收,这时如果没有值进来,则对应的值会自动设置为NULL。而你要做的,只是判断这个值是否为NULL,就完事了。
解决方案三:
把你的实体类里int给成Integer试试?
解决方案四:
简单啊,在使用这个属性的值前先 判断是否为空就可以了,或者自己直接用request.getParameter("xx")自己得到属性的值,然后判断是否为空
时间: 2024-10-11 07:54:40