springmvc ctrl 方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法样 50
springmvcctrl方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法一样,当然每个方法的参数都封装成对象,所以controller的方法只会有一个...
springmvc ctrl 方法执行前统一执行一个自定义方法,并且接受的参数与具体要执行的方法一样,当然每个方法的参数都封装成对象,所以controller的方法只会有一个参数,统一的方法中希望使用 Object接受
展开
1个回答
展开全部
还是不太明白 大致上 当你执行 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!
*/
总的来讲 就是通过 反射机制 具体 怎么实现 还得看自己 我这只是个例子
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询