struts2中No result defined for action xxx.xxx.xxx and result xxx错误的几种解决方法

本文探讨了Struts2框架中常见的返回值配置错误,包括No result defined for action及result success、error等错误的解决办法。介绍了如何通过检查Action方法、配置文件以及是否使用Struts2-Convention-Plugin来解决这些问题。

首先先说一下No result defined for action xxx.xxx.xxx and result xxx这个错误

action后跟的是你的action名称

result是返回值错误,返回值错误有很多,比如说

1.No result defined for action xxx.xxx.xxx and result success

2.No result defined for action xxx.xxx.xxx and result error

3.No result defined for action xxx.xxx.xxx and result input

        一般这个错误抛出的都是这五个错误,出现1、2类型的错误时,首先要看action后的那个xxx.action中的方法,是否存在两个或者两个以上的返回值,如果存在,抛出这个错误,一般只要在自己的action中为不同的返回值添加

    <result name="返回值名称">

    </result>

就可以了

        如果你配置了相应的result,并与返回值一一对应的话,出现这个错误可能是因为你引了Struts2-Convention-Pluginx.xx.jar这个jar包

          这个包是实现Struts零配置功能的。他会扫描你的所有action、actions、struts 、struts包下含有execute方法的类。并根据其类名建立xxx.action映射。这时候当你访问XXX.action时系统会首先调用零配置方法配置的action,而这时候你又没有使用注解配置其result。当然就报找不到no result!

          处理方法:

                   1.删除掉Struts2-Convention-Pluginx.xx.jar

                   2.如果你的action类名是XXXAction 请不要在XML配置中设置其action name属性为XXX 

                   3.使用零配置

接下来再说一下No result defined for action xxx.xxx.xxx and result input这个错误

           出现这个错误的原因可能是

                   1.因为你的返回值与action中与返回值name相同的属性类型不一致

                   2.action中有重名属性

       如果以上方法不好用的话,可是试一试关闭Tomcat然后从Tomcat中移除自己的项目,然后在把项目重新填进去,重启Tomcat,因为这个错误也有可能是Tomcat缓存引起的!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值