struts 动态方法调用

动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多

1.指定method属性的方法

直接上代码
这个是java类文件

public class HelloWorldAction extends ActionSupport { 
    @Override
    public String execute() throws Exception{
        System.out.println("执行action");
        return "123";
    }
    public String add(){
        return SUCCESS;
    }
    public String update(){
        return SUCCESS;
    }
}

这个是struts.xml文件

<struts>
    <package name="default" namespace="/" extends="struts-default">
        //没有method属性,就对应execute()方法
        <action name="helloworld" class="com.zyj.struts.HelloWorldAction">
            <result name="123" >/WEB-INF/MyJsp.jsp</result>
        </action>
        
        //name对应浏览器请求的url
        //method对应类中的方法名
        <action name="add" method="add" class="com.zyj.struts.HelloWorldAction">
            <result>/WEB-INF/add.jsp</result>
        </action>
        
        //name对应浏览器请求的url
        //method对应类中的方法名
        <action name="update" method="update" class="com.zyj.struts.HelloWorldAction">
            <result>/WEB-INF/up.jsp</result>
        </action>
    </package> 

</struts>

2.通配符方式

struts.xml文件内容:

<struts>
    //据说struts2.5之后必须要加strict-method-invocation="false" ,之前的版本反正我没用过;
    <package name="default" namespace="/" extends="struts-default" strict-method-invocation="false">
        //name中的*号就是通配符,name中不能有斜杠,星号是有顺序的,序列从1开始
        //要使用*号的内容,就要使用大括号{},大括号内的数字就是第几个*星号的意思
        <action name="*_*" method="{2}" class="com.zyj.struts.{1}Action">
            <result name="123" >/WEB-INF/MyJsp.jsp</result>
            <result >/WEB-INF/{2}.jsp</result>
        </action>
    </package> 
</struts>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入门3、Struts 2 的执行流程4、配置 st...
    廖少少阅读 3,005评论 3 13
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 2,276评论 0 50
  • 概述 Struts就是基于mvc模式的框架!(struts其实也是servlet封装,提高开发效率!) Strut...
    奋斗的老王阅读 2,994评论 0 51
  • 乔之终于想明白,她最终跟他分道扬镳,左不过是因为她把他看得太深。是她太肤浅了,居然把他当成了四书五经来读,结果把心...
    一颗好看的纽扣阅读 290评论 0 0