如何用反射(或其他方法)得到方法参数的名称
请看如下代码(需求)
package com.servlet;
public class Controller
{
public String login(String username,String userpwd)
{
return null;
}
}public class LoginServlet extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
Controller targetObj = new Controller();
Class<Controller> clazz = Controller.class;
Method[] methods = clazz.getMethods();
for(Method method : methods)
{
if("login".equals(method.getName()))
{
try
{
Class[] classs = method.getParameterTypes();
Object[] params = new Object[classs.length];
for(int i=0;i<classs.length;i++)
{
Class tempClazz = classs[i];
//[color=red]请问此处该如何得到login方法的参数字符串的名称(username,userpwd)[/color] //[color=red]我得到这两个字符串之后,直接用[/color]request.getParameter(username),request.getParameter(userpwd)
Array.set(params, i, request.getParameter("username"));
}
String result = method.invoke(targetObj, params).toString();
//do Other Thing
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
}
得到方法参数的个数,类型很容易。只是得到那个名称(起的名字)不是很容易
我想了很久,也没想出来该怎么做(springmvc里面有类似的功能,但是spring源代码太杂了,没找到)
???
问题补充
我就是想自己写,不依赖其他任何技术或框架。。。。
求思路或代码