上一章节学习了struts2的常量配置,本章节学习的struts2的方法动态调用和上一章节有所关联,相当于struts2常量配置的进阶版~详细学习如下
struts2动态方法调用
- 1、struts2动态方法调用[ul]1.1、动态方法调用方式
- 1.2、和常量配置有关的动态方法调用
- 1.3、和常量配置无关的通配符思想动态方法调用
- 1.4、动态方法调用方式总结
[/ul]
1、struts2动态方法调用
首先,准备一个action类,类名B_dynamic,这个类中存在多个业务,比如增删改查用户,简单的调用返回success并打印到控制台相应的文字;设计如下:
B_dynamic:
package com.java.B_dynamic;public class Demo1 {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 select() {System.out.println(\"查找---\");return \"success\";}}
1.1、动态方法调用方式
动态调用的方法有两种,分别是:
【1】和常量配置有关的动态方法调用
【2】和常量配置无关的通配符思想动态方法调用
下面就这两种进行详细学习~
1.2、和常量配置有关的动态方法调用
首先,在核心配置文件中配置上动态方法调用,将默认的false的值(关闭状态)设置成true(打开状态);其name值和value值都可以在struts. Properties文件中找到,上文中常用的常量列表中也有介绍;
开启动态调用配置代码如下所示(在核心配置文件中的),需要注意的是在下面的代码中action标签中并不会存在method属性;
配置好后直接输入相应的路径,在输入完action的名称后在其名称后加上感叹号“!”,英文状态下的,然后在感叹号后边添加相应方法的方法名,点击回车即可看到控制台中输出的相应的方法中配置输出的文字;
1.3、和常量配置无关的通配符思想动态方法调用
这种动态调用方法的方式其编写思路和常量的配置无关,使用的是通配符占位的思路,其代码很容易,只要在核心配置文件中的action标签中的name属性的属性值设置成“xxx_*”以及将method属性的属性值写成“{1}”即可;
其设置如下所示:
<?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=\"dynamic\" namespace=\"/dynamic\" extends=\"struts-default\"><action name=\"Demo1_*\" class=\"com.java.B_dynamic.Demo1\" method=\"{1}\"><result name=\"success\">/dynamic.jsp</result></action></package></struts>
其访问方法为,直接将方法名写在下划线后边即可;
当在jsp页面中进行表单的提交跳转某个action类时应当写为(按照上面的为例子):href=\”${pageContext.request.contextPath}/Demo1_xxx\”,这个xxx是写死的,代表了此操作应连接哪个方法名~
只有这样才是真正的动态方法调用,既是在跳转前就配置好所要进行操作的方法;
1.4、动态方法调用方式总结
最常用的还是第二种,以通配符思想进行动态调用的方式~
pass:下一章节学习struts2中action方法创建方式~