Struts中错误: No result defined for action

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用法相同;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值