zoukankan      html  css  js  c++  java
  • Action的动态调用方法

    Action执行的时候并不一定要执行execute方法,我们可以指定Action执行哪个方法:

    1、 方法一(通过methed属性指定执行方法)

    可以在配置文件中配置Action的时候用method=来指定执行哪个方法

    <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">

                <result>/user_add_success.jsp</result>

    </action>

        这样,只要在action的对象中有一个add的方法,并且返回类型为String就可以了。如果没有method属性,则默认执行execute()方法。

    import com.opensymphony.xwork2.ActionSupport;

    public class UserAction extends ActionSupport {

        public String add() {

           return SUCCESS;

        }  

    }

    2、 动态方法调用DMI(推荐)

    可以在url地址中动态指定action执行那个方法。Url地址如下:

    方法:action + ! + 方法名

    注:只要Action对象中有这个方法,并且返回类型为String就可以调用。

    这样Struts.xml配置文件中不需要配置methed属性。代码如下:

    <action name="user" class="com.bjsxt.struts2.user.action.UserAction">

           <result>/user_add_success.jsp</result>

    </action>

    Action类:

    public class UserAction extends ActionSupport {

        public String add() {

           return SUCCESS;

        }  

    }

        总结:推荐使用第二种动态方法调用DMI,因为第一种需要大量的Action配置,后者可以在url中动态指定执行action中哪个方法。

  • 相关阅读:
    drf中ListSerializer源码
    drf中get/post/delete/put/patch五大接口
    drf三大认证组件
    drf序列化与反序列化,基表的概念
    drf序列化与反序列化
    drf解析,异常,响应模块
    drf 简介以及部分源码分析
    vue学习第四天
    vue学习第三天
    MySQLStudy——索引
  • 原文地址:https://www.cnblogs.com/jym-sunshine/p/4705477.html
Copyright © 2011-2022 走看看