strut2属性问题请教?
我有一个action中有
整型intid属性,id的值是通过get方式赋值:test.do?id=XXX,显然当XXX输入“abc"等字符串时,会报错!!
我想让XXX输入”abc“等字符串时不报错,而直接将action中的id默认为-1,请问怎样实现?
------最佳解决方案--------------------我觉得可以这样处理
在Action类中实现ServletRequestAware接口,在Action中就可以用request对象了,在相应的方法内
(Integer)request.get("id");
如果有值,就id=-1.
------其他解决方案--------------------可以通过js实现
------其他解决方案--------------------js实现太麻烦了,后台不能处理这样的情况吗?
------其他解决方案--------------------
报错的根源在哪里?
------其他解决方案--------------------那你把id定义成String类型的吧
因为struts2是通过反射赋值给参数的。你的类型是int可是你输入了abc当然不行
------其他解决方案--------------------action中的属性是自动绑定的,你只能在action中设为String类型,然后根据是否是数字进行转换。
------其他解决方案--------------------写一个struts2类型转换器。
------其他解决方案--------------------谢谢回复!用类型转换器没作用,还没进入类型转换器就抛exception了!
只能将属性声明为String类型吗?
------其他解决方案--------------------亲们 楼主的写的好像是struts1的程序