Action类:
复制代码
1
2
3
4
5
6
7
8
9
10public class HelloAction { public String hello(){ System.out.println("hello world!"); return "success"; } }
struts.xml:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- struts常量配置 --> <!-- i18n:国际化:解决post提交乱码 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 指定访问action的后缀名 --> <constant name="struts.action.extension" value="action"></constant> <!-- 指定struts2是否以开发模式运行 1、热加载主配置(不需要重启即可生效) 2、提供更多错误信息输出,方便开发时调试 --> <constant name="struts.devMode" value="true"></constant> <!-- package:将Action配置封装,在package中配置很多Action name属性:给包起个名字,起到标识作用,随便起,不能与其他包名重复 namespace属性:给action的访问路径中定义一个命名空间 extends属性:继承一个指定包 abstract属性:包是否为抽象的,标识属性:标识该包不能独立运行,专门被继承 --> <package name="hello" namespace="/hello" extends="struts-default"> <!-- action元素:配置action类 name属性:决定了Action访问资源名 class属性:action的完整类名 method属性:指定调用Action中的哪个方法来处理请求 --> <action name="HelloAction" class="cn.itheima.a_hello.HelloAction" method="hello"> <!-- result元素:结果配置 name属性:标识结果处理的名称,与action方法的返回值对应 type属性:指定调用哪一个result类来处理结果,默认使用转发 标签体:填写页面的相对路径 --> <result name="success" type="dispatcher">/hello.jsp</result> </action> </package> <!-- 引入其他struts配置文件 --> <include file="cn/itheima/b_dynamic/struts.xml"></include> <include file="cn/itheima/c_default/struts.xml"></include> </struts>
动态方法调用
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25public class Demo1Action { public String add(){ System.out.println("添加用户"); return "success"; } public String delete(){ System.out.println("删除用户"); return "success"; } public String update(){ System.out.println("修改用户"); return "success"; } public String find(){ System.out.println("查找用户"); return "success"; } }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置动态方法调用是否开启的常量 默认是关闭的,需要开启 --> <constant name="struts.enable.DynamicMethodInvocation" value="false"></constant> <package name="dynamic" namespace="/dynamic" extends="struts-default"> <!-- 动态方法调用方式2:通配符方式 使用{1},取出第一个通配符的内容 --> <action name="Demo1Action_*" class="cn.itheima.b_dynamic.Demo1Action" method="{1}"> <result name="success">/hello.jsp</result> </action> </package> </struts>
默认配置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12public class Demo2Action { public String execute(){ System.out.println("Demo2Action~~~~"); return "success"; } }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="default" namespace="/default" extends="struts-default"> <!-- 找不到包下的action,会使用Demo2Action作为默认Action处理请求 --> <default-action-ref name="Demo2Action"></default-action-ref> <!-- method属性:默认execute --> <!-- name属性:默认success --> <!-- result的type属性:默认dispatcher --> <!-- class属性:com.opensymphony.xwork2.ActionSupport" --> <action name="Demo2Action" class="cn.itheima.c_default.Demo2Action" > <result >/hello.jsp</result> </action> </package> </struts>
最后
以上就是傻傻狗最近收集整理的关于Struts2笔记整理1(动态方法调用及配置)的全部内容,更多相关Struts2笔记整理1(动态方法调用及配置)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复