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之间的跳转
同一个包和不同包:
1 <package name="user" namespace="/user" extends="struts-default">
2
3 <action name="userAction" class="com.guangsoft.action.UserAction">
4
5 <!-- 同一个package中不同的Action之间的跳转 -->
6
7 <result name="listtoAction" type="chain">listAction</result>
8
9 <result name="login">/index.jsp</result>
10
11 <!-- 不同package中不同的Action之间的跳转 -->
12
13 <result name="listtoAction2" type="chain">
14
15 <!-- param的作用:用来完成给chain对应的类中的属性赋值 -->
16
17 <param name="namespace">/list</param>
18
19 <param name="actionName">listAction2</param>
20
21 </result>
22
23 </action>
24
25 <!-- 配置ListAction -->
26
27 <action name="listAction" class="com.guangsoft.action.ListAction">
28
29 <result name="list">/list.jsp</result>
30
31 </action>
32
33 </package>
34
35 <package name="list" namespace="/list" extends="struts-default">
36
37 <!-- 配置ListAction -->
38
39 <action name="listAction2" class="com.guangsoft.action.ListAction2">
40
41 <result name="list" type="plainText">
42
43 <param name="charSet">UTF-8</param>
44
45 <param name="location">/list.jsp</param>
46
47 </result>
48
49 </action>
50
51 </package>
5 Action中方法的调用
默认调用:execute
5.1,通过通配符进行调用。
在定义Action的时候,name的定义格式为url_*,加入method=“{1}”属性
客户端发送请求的时候:必须指定*号的值
5.2方法的动态调用
5.3开启方法的动态调用功能
在struts.xml文件中配置常量
1 <!-- 配置struts2的常量 :开启方法的动态调用-->
2
3 <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
客户端请求的url:
url methodName.action
6 Action的默认配置
1 <!-- Action的默认配置 class:ActionSupport method:execute reult的name属性为:success
2 result的type属性为:dispatcher -->
3 <package name="def" namespace="/" extends="struts-default">
4 <action name="defaultAction">
5 <result>/index.jsp</result>
6 </action>
7 </package>
ServletActionContext.getResponse();
同一个package的跳转
不同package之间的Action进行跳转