编写RequestUtils,利用BeanUtils封装请求参数的处理(赋值与自动类型转换)过程

 将request中的所有参数设置到entityClass类型的对象上

public class RequestUtil {
	
	/**
	 * 将request中的所有参数设置到entityClass类型的对象上
	 * @param entityClass
	 * @param request
	 * @return
	 */
	public static Object copyParam(Class entityClass,HttpServletRequest request){
		
		try {
			Object entity = entityClass.newInstance();
			
			//把请求中的参数取出
			Map allParams = request.getParameterMap();
			Set entries = allParams.entrySet();
			for (Iterator iterator = entries.iterator(); iterator.hasNext();) {
				Map.Entry entry = (Map.Entry) iterator.next();
				String name = (String)entry.getKey();
				String[] value = (String[])entry.getValue();
				
				if(value != null){
					if(value.length == 1){
						BeanUtils.copyProperty(entity, name, value[0]);
					}else{
						BeanUtils.copyProperty(entity, name, value);
					}
				}
			}
			return entity;
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return null;
	}
}

 在到servlet页面上就可以直接写 

Article a = (Article)RequestUtil.copyParam(Article.class, request);
 不用在通过 request.getparamter();的一个个获取 在插入到article中 ,大大的减少了代码量 

你可能感兴趣的:(servlet)