AI智能
改变未来

struts2动态方法调用

上一章节学习了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方法创建方式~

    《本章完》

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » struts2动态方法调用