JAVA web项目中的no result defined for action xxxAction and result input 错误

No result defined for action and result input

产生这个错误的原因:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够把错误返回,所以报这种错误。


从上面可知,能够导致  No result defined for action result input 这种错误可能是因为:


1、validate方法没有通过(表单验证看看有没有重名,导致js文件加载过慢);

2、页面元素中有重命名时,但后台action类的对应的接收此同名参数的是变量而没有写成数组


3、配置文件中result   返回.jsp出现错误(多了空格、或者没有界面)


4、对应Action中没有返回值,或者返回值数据类型转换出错


5、工程里有一个BaseAction的类,并且BaseAction使用了验证框架,有一个BaseAction-validation.xml的文件。
而PoiterAction正好是BaseAction的一个子类,也继承了父类的验证框架,因此按照验证框架的运行流程来看这个问题就很明显了。由于验证框架在调用子类的时候首先加载父类的验证规则,然后等待输入,系统会找到input元素制定的JSP文件的输入信息,但是PoiterAction并没有input项,所以系统抛出No result defined for action.....and result input。


6、表单中有文件上传功能,提交form表单时,需要加enctype = "multipart/form-data"

比如<form action="xxxx.action" method="post" name="xxx" id="xxx"enctype = "multipart/form-data">

如果不加enctype = "multipart/form-data"这个,在不同浏览器版本中,比如谷歌 52版本,不加也不会报错,但在58版本就报错了。所以避免浏览器兼容问题,最好加上!
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值