在struts2开发中碰到这么个错误No result defined for action and result大部分的原因有以下几种:
1、validate方法没有通过;
2、页面元素中有重命名时,但后台action类的对应的接收此同名参数的是变量而没有写成数组,这个极有可能,我就碰到过,搞了好久才发现是这个原因
3、你在页面使用了<s:actionerror/>标签,而且后台执行super.addActionError("数据库繁忙,请稍后再试。。。");这个方法,当你用type=“chain”时,可能报错。换成<s:actionmessage/>标签就没问题。
4、还有一种情况,就是action里面的set()和get()方法写漏了
5、也可能访问action的url在拼参数的时候带着空格了,例如:
"otherDelegateProtocol!findOtherDelegateProtocolList.do?businessType = "+businessType;
应改为
"otherDelegateProtocol!findOtherDelegateProtocolList.do?businessType="+businessType;
要检查这种错误时,可以
1,在后台action类中重写ActionSupport中的
void addActionError(String anErrorMessage)
void addActionMessage(String aMessage)
void addFieldError(String fieldName, String errorMessage)
这三个方法,在并在其实现代码中设置断点,监控传入的参数,并可获知页面的相关报错具体原因.
2,在页面中加入以下标签,将错误显示出来:
<div style=”color:red”>
<s:fielderror />
</div>