Web自动获取request的parameter形参列表
-
Setting下的Java Compiler
-
添加 -parameters
-
重新Build一下
-
代码
-
Method[] methods = controllerObj.getClass().getDeclaredMethods(); for (Method method:methods){ if(oper.equals(method.getName())){ //统一获取请求参数 //获取当前方法的参数,返回参数数组 Parameter[] parameters = method.getParameters(); Object[] parameterValues = new Object[parameters.length]; //遍历参数表 for(int i=0;i<parameterValues.length;i++){ Parameter parameter=parameters[i]; //获取参数名称 String parameterName=parameter.getName(); if("request".equals(parameterName)){ parameterValues[i]=request; }else if("response".equals(parameterName)){ parameterValues[i]=resp; }else if("session".equals(parameterName)){ parameterValues[i]=request.getSession(); }else { //从请求中获取参数值当实参赋值给 parameterValues,通过invoke调用相应方法 String ParamerValue = request.getParameter(parameterName); parameterValues[i] = ParamerValue; } } method.setAccessible(true); Object methodObj= method.invoke(controllerObj,parameterValues);