package:表示包
name:包名,在struts.xml文件不能有相同的包名,包名是惟一
extends:继承,固定struts-default
abstract:抽象包,被用于继承,一般在抽象包里不声明action
namespace:命名空间,访问路径,默认值是空字符串
可用于模块划分
要注意:命名空间需要加/斜杠
action:动作
name:相当于Servlet的映射路径(@WebServlet)
class:处理请求的类,相当一个Servlet类
method:处理请求的方法
1.public的
2.返回值必须是String
3.没有参数
result:结果,写返回的jsp页面
- result中type的取值有四种类型
dispatcher | (默认值)使用请求转发,转向一个页面。 |
redirect | 使用重定向,转向一个页面。 |
chain | 转发到另一个相同名称空间的动作 转发到不同名称空间的动作 |
redirectAction | 重定向到另一个相同名称空间的动作 重定向到不同名称空间的动作 |
result的name可以不写,默认就是success
2.type属性
dispatcher:转发到一个页面(jsp),默认值
redirect:重定向到一个页面
chain:转发到另一个【同一个包或者不同包】action
redirectAction:重定向到另一个【同一个包或者不同包】action
//1.chain:转发到另一个同一个包action
<result name="success" type="chain">action2</result>
//2.redirectAction:重定向到另一个同一个包action
<result name="success" type="redirectAction">action2</result>
//3.chain:转发到另一个不同的包action3
//4.redirectAction:重定向到另一个不同的包action3
-->
<!-- 3.chain:转发到另一个不同的包action3 -->
<result name="success" type="redirectAction">
<!-- 依赖注入 -->
<param name="namespace">/n2</param>
<param name="actionName">action3</param>
</result>
</action>
<action name="action2" class="com.gyf.web.action.Demo2Action">
<result name="success">/action2.jsp</result>
</action>
</package>