1. package标签
package:完成有业务相关的Action(应用控制器的)管理
name:给包起的名字(反映该包中Action的功能),用来完成包和包之间的继承。默认继承struts-default,struts-default中包含了struts2的核心功能。
namespace:命名空间,默认(/),为Ation请求的路径的前缀。有效的路径构成部分。
extends:完成包之间的继承
2. Action标签
action:描述自定义的应用控制器javabean
name:Action的请求的url
class:处理请求的Action完全限定名
method:指定处理本次请求的方法。
3. Result标签
result:描述action执行后的结果。
name:给action执行后需要跳转的路径的别名
type:在struts-default.xml中定义result-type定义(结果类型)
dispatcher:默认值(请求转发到jsp)
chain:请求转发,将请求转发到某个Action
redirect:重定向(只能重定向到jsp)
redirectAction:重定向,将请求重定向到某个Action
stream:获得流对象,相当于在servlet中的response.getWriter();
plainText:将jsp的源码进行响应
4.Action之间的跳转
同一个包和不同包:
<package name="user" namespace="/user" extends="struts-default">
<action name="userAction" class="com.guangsoft.action.UserAction">
<!-- 同一个package中不同的Action之间的跳转 -->
<result name="listtoAction" type="chain">listAction</result>
<result name="login">/index.jsp</result>
<!-- 不同package中不同的Action之间的跳转 -->
<result name="listtoAction2" type="chain">
<!-- param的作用:用来完成给chain对应的类中的属性赋值 -->
<param name="namespace">/list</param>
<param name="actionName">listAction2</param>
</result>
</action>
<!-- 配置ListAction -->
<action name="listAction" class="com.guangsoft.action.ListAction">
<result name="list">/list.jsp</result>
</action>
</package>
<package name="list" namespace="/list" extends="struts-default">
<!-- 配置ListAction -->
<action name="listAction2" class="com.guangsoft.action.ListAction2">
<result name="list" type="plainText">
<param name="charSet">UTF-8</param>
<param name="location">/list.jsp</param>
</result>
</action>
</package>
5 Action中方法的调用
默认调用:execute
5.1,通过通配符进行调用。
在定义Action的时候,name的定义格式为url_*,加入method=“{1}”属性
客户端发送请求的时候:必须指定*号的值
5.2方法的动态调用
5.3开启方法的动态调用功能
在struts.xml文件中配置常量
<!-- 配置struts2的常量 :开启方法的动态调用-->
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
客户端请求的url:
url methodName.action
6 Action的默认配置
<!-- Action的默认配置 class:ActionSupport method:execute reult的name属性为:success result的type属性为:dispatcher -->
<package name="def" namespace="/" extends="struts-default">
<action name="defaultAction">
<result>/index.jsp</result>
</action>
</package>
ServletActionContext.getResponse();
同一个package的跳转
不同package之间的Action进行跳转