Result映射属性
- name:指定result的逻辑名
- type:指定result的类型,不同类型的result代表了不同类型的结果输出
result的分类:
- 局部result:定义在Action内,作用范围是该Action
- 全局result:定义在package元素的global-results子元素下
<global-results>
<result name="error">/error.jsp</result>
</global-results>
Result的类型:
常见结果类型:
(1)dispatcher
<action name="login" class="com.java.struts2.action.LoginAction">
<result name="success" type="dispatcher">
<param name="location">/userInfo.jsp?username=${username}</param>
<param name="parse">true</param>
</result>
</action>
location:该参数用于指定Action执行完毕之后要转向的目标资源
parse:该参数是一个布尔值的属性,如果为true,则解析location参数中的OGNL表达式,如果为false,则不解析。默认为true
(2)redirect:重定向,两次请求
(3)redirectAction:主要重定向到Action,配置redirectAction类型时,在param子元素中,可以指定两个参数
- actionName:必选参数,用来指定重定向的Action名称
- namespace:可选参数,用来指定需要重定向的Action所在的命名空间
<form action="login.action" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
<!-- 需要继承struts-default包,这样就拥有的最基本的功能 -->
<package name="struts2" extends="struts-default">
<action name="show" class="com.java.struts2.action.ShowAction">
<result name="success">/show.jsp</result>
</action>
<action name="login" class="com.java.struts2.action.LoginAction">
<result name="success" type="redirectAction">
<param name="actionName">show</param>
</result>
</action>
</package>