No result defined for action com.edu.card.action.CardAction and result input

错误:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够把错误返回,所以报这种错误。
原因
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版本就报错了。所以避免浏览器兼容问题,最好加上!

我的错误是输入表单中有两项同名(name)

发布了267 篇原创文章 · 获赞 215 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/kt1776133839/article/details/102978630