//getclass返回Class类型的对象 Class service = this.formCheckService.getClass(); // 一个数组的Class对象识别方法的形参类型,在声明的顺序 Class[] parameterTypes = { String.class, HttpServletRequest.class }; //方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法 methodName就是service层里的方法,通过其他形式得到后放在参数中 Method method = service.getDeclaredMethod(methodName, parameterTypes); //invoke方法用来运行动态地调用某个实例里的方法 method.invoke(this.formCheckService, new Object[] { transformFormEncode(request.getParameter(paramName)), request }); transformFormEncode是一个返回的判断编码的方法
public String transformFormEncode(String str) { String temp = ""; if ((str != null) && (!"".equals(str))) { try { temp = URLDecoder.decode(new String(str.getBytes("gbk"), "utf-8"), "utf-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } } return temp; }