日期:2014-05-18  浏览次数:20669 次

请问下这段代码,通过传递类的Class这个参数有什么好处?
public static <T> T request2bean(HttpServletRequest request,Class<T> beanClass)
{
try
{
T bean = beanClass.newInstance();
Enumeration e = request.getParameterNames();

while(e.hasMoreElements())
{
String name = (String) e.nextElement();
String value = request.getParameter(name);

BeanUtils.setProperty(bean, name, value);

}
return bean;
}
catch (Exception e)
{

throw new RuntimeException(e);
}

}


代码如上,我直接在里面定义一个自己想要的类,比如这里是
FormRegister类。

FormRegister bean = new FormRetister();
BeanUtils.setProperty(bean, name, value);

对于用户注册来说,这个servlet需要获取的数据,肯定是这个类型的。

而且这里直接通过request获取到了request里面的所有属性。
是不是确定了,request带过来的信息,刚好和这个类是匹配的呢。

------解决方案--------------------
看你代码的作用 就是传递个泛型类型过来,然后实例化个泛型类型。