/**
* 取得request对象中所有的参数值并生成 一个相应的对象返回
*/
public class ParseHtml {
/**
* Class<T> beanClass可以接受任何类型的javaBean,使用泛型调用者不用进行强转
* @param <T>
* @param request
* @param beanClass
* @return
*/
public static <T> T getRequestBean(HttpServletRequest request, Class<T> beanClass) {
try {
/**创建封装数据的bean**/
T bean = beanClass.newInstance();
Map map = request.getParameterMap();
BeanUtils.populate(bean, map);
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Controller例子
/**
* 编辑用户
* @param request
* @return
*/
@RequestMapping(value = "/edit-user", method = RequestMethod.POST)
@ResponseBody
public TableResultVO editUser(HttpServletRequest request) {
TableResultVO result = new TableResultVO();
// 获取参数
User user = ParseHtml.getRequestBean(request, User.class);
if (userService.editUser(user)) {
result.setCode(PageCodeEnum.SUCCESS.getCode());
result.setMsg(PageCodeEnum.SUCCESS.getMsg());
}
return result;
}