您的位置:首页 > 编程语言 > Java开发

Struts中错误: No result defined for action

2016-04-16 12:22 627 查看
Action中:

public String delete() {
employeeService.delete(id);
return<span style="color:#ff0000;"> SUCCESS</span>;
}
Struts.xml中:

<action name="emp-*" class="employeeAction" method="{1}">
<result name="list">/WEB-INF/views/emp-list.jsp</result>
<result name="<span style="color:#ff0000;">SUCCESS</span>" type="redirect">/emp-list</result>
</action>
</package>


则报错:No result defined for action com.java.ssh.actions.EmployeeAction and result

原因就是: Action中的自定义的常量值SUCCESS,在Struts2配置文件中应该是小写success!

Struts2 配置文件result的name属性和type属性:

Name属性

SUCCESS:Action正确的执行完成,返回相应的视图,success是 name属性的默认值;

NONE:表示Action正确的执行完成,但并不返回任何视图;

ERROR:表示Action执行失败,返回到 错误处理视图;

INPUT:Action的执行,需要从前端界面获取参数,INPUT就是代表这个参数输入的界面,一般在应用中,会对这些参数进 行验证,如果验证没有通过,将自动返回到该视图;

LOGIN:Action因为用户没有登陆的原因没有正确执行,将返回该登陆视图,要求用户进行 登陆验证。

Type属性:

dispatcher:请求转发,底层调用RequestDispatcher的forward()或include()方 法,dispatcher是type属性的默认值,通常用于转向一个JSP,localtion指定JSP的位置,parse如果为false表示 location的值不会被当作OGNL解析,默认为true;

redirect:重定向,新页面无法显示Action中的数据,因为底层调用 response.sendRedirect("")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: