springmvc ctrl 方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法样 50

springmvcctrl方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法一样,当然每个方法的参数都封装成对象,所以controller的方法只会有一个... springmvc ctrl 方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法一样,当然每个方法的参数都封装成对象,所以controller的方法只会有一个参数,统一的方法中希望使用 Object接受 展开
 我来答
双鱼泪以干
2017-08-13 · TA获得超过193个赞
知道小有建树答主
回答量:199
采纳率:71%
帮助的人:69万
展开全部

还是不太明白   大致上  当你执行 ctrl  方法时候 就调用 一下 你的自定义方法就可以了 如果是参数的话 可以 通过JSON 传入多个 比如   在一个JSON串中拼接 一个类名 和方法名 然后 在 controller 拿到JSON  从 JSON 拿到  类名  与方法名 获得实际类与方法的代码如下:


package test;
import java.lang.reflect.Method;
public class Test {
//获得类和方法
    public static void main(String[] args) throws Exception {
      //类名
      String className = "test.test1";
      //方法名
       String methodName = "sayHello";
       //加载类
       Class clz = Class.forName(className);
       //  获得类
       Object obj = clz.newInstance();
       //获取方法  那个String.class 就是参数类型
       Method m = obj.getClass().getDeclaredMethod(methodName, String.class);
       //调用方法  
       String  result = (String) m.invoke(obj, "aaa");
       System.out.println(result);
      }
    }
    
    //测试类
    package test;
    public class test1 {
      public String sayHello(String s){
       System.out.println(s);
       return "hello!";
      }
    }
    
    /**以下是输出结果
        aaa
        hello!
    */

总的来讲 就是通过 反射机制  具体 怎么实现 还得看自己  我这只是个例子

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式