struts2动态方法调用
上一章节学习了struts2的常量配置,本章节学习的struts2的方法动态调用和上一章节有所关联,相当于struts2常量配置的进阶版~详细学习如下
struts2动态方法调用
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方法创建方式~
《本章完》
- struts2DMI(动态方法调用)
- Struts2关于Action的系统训练4关于动态方法调用DMI
- struts2 学习笔记三----动态方法调用
- struts2 动态方法调用实现方法
- 第三篇——Struts2的动态方法调用
- struts2 中action的动态方法调用
- struts2 Action专题之二:动态方法的调用
- Struts2里的动态方法调用和namespace问题
- struts2的常量、动态方法调用、接受请求参数处理、类型转换 .
- Struts2动态方法调用的3种方式
- 使用Struts2动态方法调用时(DMI)出现There is no Action mapped for namespace [/user] and action name [user!add] 问题
- Struts2 动态方法调用
- struts2之动态方法调用
- struts2 学习笔记三----动态方法调用
- Struts2动态方法调用
- 第三章Struts2 Action中动态方法调用、通配符的使用
- struts2中使用DMI(动态调用方法)方式配置action
- 传智播客--struts2.x的常量配置,动态方法调用,通配符,拦截器,ValueStack和标签
- Struts2动态方法调用(DMI)小问题
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法