Struts2中Action控制器用来处理深层业务逻辑,在编写好Action类后,在src路径下创建文件struts.xml,在其中添加代码配置Action
<action name="struts" class="org.action.StrutsAction"> <result name="success">/welcome.jsp</result> <result name="error">/hello.jsp</result> </action>
当请求要调用Action中其他方法时,需要在配置中配置方法名,如:
<action name="struts" class="org.action.StrutsAction" method="find">
method属性的值必须要和Action类中用到的方法名相同。
result元素
一个result代表一个可能的输出。当Action类中的方法执行完成时,返回一个字符串类型的结果代码,框架根据这个代码选择对应的result向用户输出。
<result name="逻辑视图名" type="视图结果类型"> <param name="参数名">参数值</param> </result>
(1)param中name属性的值有
location:指定的逻辑视图
parse:是否允许在实际视图名中使用OGNL表达式,默认为true
(2)result中name属性的值有
success:表示请求处理成功,是默认值
error:表示请求处理失败
none:表示请求处理完成后不跳转到任何页面
input:表示输入时如果验证失败应该跳转到什么地方
login:表示登录失败后跳转的目标
(3)type(非默认类型)属性支持的结果类型有(只记录3个)
chain:处理Action链
dispatcher:用来转向页面,通常处理JSP,默认类型
redirect:重定向到一个URL
redirect-action:用于当一个Action处理结束后,重定向到另一个Action
Action类都继承自ActionSupport,ActionSupport为Action提供了一些默认实现,主要包括定义常量,从资源文件中读取文本资源,接受验证错误信息和验证的默认实现