• struts2动态方法调用


    如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法。如下:

    public class HelloWorldAction{
        private String message;
        ....
        public String execute() throws Exception{
            this.message = "我的第一个struts2应用";
            return "success";
        }
    
        public String other() throws Exception{
            this.message = "第二个方法";
            return "success";
        }
    }

    假设访问上面action的URL路径为: /struts/test/helloworld.action
    要访问action的other() 方法,我们可以这样调用:
    /struts/test/helloworld!other.action
    如果不想使用动态方法调用,我们可以通过常量struts.enable.DynamicMethodInvocation关闭动态方法调用。

    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
    <package name="itcast" namespace="/test" extends="struts-default">
        <action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
            <result name="success">/WEB-INF/page/hello.jsp</result>
        </action>
    </package>
    public class HelloWorldAction{
        private String message;
        ....
        public String execute() throws Exception{
            this.message = "我的第一个struts2应用";
            return "success";
        }
    
        public String other() throws Exception{
            this.message = "第二个方法";
            return "success";
        }
    }

    要访问other()方法,可以通过这样的URL访问:/test/helloworld_other.action

    method=”{1}”中的{1}指获取通配符第一个字符,“{1}”同样也可用于class=“”和result路径中

  • 相关阅读:
    Linux命令之vi
    CentOS7 查看IP
    Linux下mysql的命令
    @RequestMapping注解的参数说明
    springboot处理不同域的前端请求
    vue-cli4 取消关闭eslint 校验代码
    springmvc请求乱码
    访问静态资源报404错误
    eclipse创建Maven项目时pom.xml报错
    spring中的xml配置文件里报错
  • 原文地址:https://www.cnblogs.com/lllini/p/11955378.html
Copyright © 2020-2023  润新知