《Java从入门到放弃》入门篇:Struts2的基本访问方式(二)
前面已经学习了struts2的基本用法,接下来再说说struts2的三种访问方式。
第一种方式:指定method属性
第二种方式:动态方法调用(感叹号方式,需要打开对应开关),官网不推荐使用
第三种方式:通配符方式,官网推荐使用
不废话,上代码!!!
1. 指定method属性方式
1.1)修改Action类,在内部加CURD的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public class Hello extends ActionSupport { // 添加 public String add() { System.out.println( "调用了添加的方法!" ); return "add" ; } // 删除 public String delete() { System.out.println( "调用了删除的方法!" ); return "delete" ; } // 更新 public String update() { System.out.println( "调用了更新的方法!" ); return "update" ; } // 查询 public String select() { System.out.println( "调用了查询的方法!" ); return "select" ; } } |
1.2)修改struts.xml文件(配置对应的Action)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< package name = "default" namespace = "/" extends = "struts-default" > < action name = "singerAdd" class = "com.pxy.action.Hello" method = "add" > < result name = "add" >/WEB-INF/jsp/singer_add.jsp</ result > </ action > < action name = "singerDelete" class = "com.pxy.action.Hello" method = "delete" > < result name = "delete" >/WEB-INF/jsp/singer_delete.jsp</ result > </ action > < action name = "singerUpdate" class = "com.pxy.action.Hello" method = "update" > < result name = "update" >/WEB-INF/jsp/singer_update.jsp</ result > </ action > < action name = "singerSelect" class = "com.pxy.action.Hello" method = "select" > < result name = "select" >/WEB-INF/jsp/singer_select.jsp</ result > </ action > </ package > |
1.3)添加对应的JSP页面,我把对应的JSP页面放到了/WEB-INF/jsp/目录下。
1.4)接下来可以通过以下地址进行访问。
http://localhost:8080/strDemo/singerAdd.action
http://localhost:8080/strDemo/singerDelete.action
http://localhost:8080/strDemo/singerUpdate.action
http://localhost:8080/strDemo/singerSelect.action
1.5)到这儿就结束了,如果你的程序不能跳转到对应的JSP页面,请把项目删后再来一遍吧,如果操作了10遍还不行,那可以直接放弃了。
2. 动态方法方式
2.1)修改struts.xml文件,在其中设置开启动态方法的常量(建议写在package标记上面)
1
2
|
<!-- 开启动态方法调用 --> < constant name = "struts.enable.DynamicMethodInvocation" value = "true" /> |
2.2)修改struts.xml文件(配置对应的Action)
1
2
3
4
5
6
7
|
<!-- 动态方法调用 --> < action name = "singermng" class = "com.pxy.action.Hello" > < result name = "add" >/WEB-INF/jsp/singer_add.jsp</ result > < result name = "delete" >/WEB-INF/jsp/singer_delete.jsp</ result > < result name = "update" >/WEB-INF/jsp/singer_update.jsp</ result > < result name = "select" >/WEB-INF/jsp/singer_select.jsp</ result > </ action > |
2.3)通过以下地址进行访问(注意标红的部分是Action类中的方法名)
http://localhost:8080/strDemo/singermng!add.action
http://localhost:8080/strDemo/singermng!delete.action
http://localhost:8080/strDemo/singermng!update.action
http://localhost:8080/strDemo/singermng!select.action
3. 通配符方式
3.1)修改struts.xml文件(配置对应的Action,其中*就是通配符,可以设置多个,后面使用{1}{2}按从左到右的顺序匹配)
1
2
3
4
|
<!-- 通配符方式调用 --> < action name = "smng_*" class = "com.pxy.action.Hello" method = "{1}" > < result name = "{1}" >/WEB-INF/jsp/singer_{1}.jsp</ result > </ action > |
3.2)通过以下地址进行访问
http://localhost:8080/strDemo/smng_add.action
http://localhost:8080/strDemo/smng_delete.action
http://localhost:8080/strDemo/smng_update.action
http://localhost:8080/strDemo/smng_select.action
到这儿三种基本访问方式就OK了。