No result defined for action com.lzj.web.action.CustomerAction and result input
No result defined for action and result input
产生这个错误的原因:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够把错误返回,所以报这种错误。
今天在在写项目中表单的添加功能时,出现了这个错误,一开始找不到头绪,以为是配置文件错了,看了好多遍都没有发现错误,其实这是参数封装错误了。
上网找资料的时候看见有人说是可能是因为:
1、validate方法没有通过;
2、页面元素中有重命名时,但后台action类的对应的接收此同名参数的是变量而没有写成数组
后来我看了一下要封装得Customer对象
这三个属性是BaseDict类啊,我却用字符串自动封装,虽然变量名相同,把接受参数的对象放在栈顶会自动封装,但是
String赋值给BaseDict肯定会抛出异常啊,但是又找不到input的Result,不能够把错误返回,所以报这种错误。、
所以怎么封装类对象的参数呢? 很简单
在name属性上填写name="cust_source.dict_id" 直接去找需要赋值的类属性
属性名字加上类名就可以自动封装了