今日继续学习了如何简化servlet层的代码,原先在写servlet层时为了获取jsp页面传来的数据要反复的调用request的getParameter函数浪费了很多事时间使代码显得十分冗长。
使用BeanUtils的populate函数可以将属性值注入到java对象中函数中需要两个参数一个是属性的键值对,这个可以用request的getParametermap来获取;另一个就是你要复制的对象。
属性的名字必须与对象类的属性名一直,因为这个函数是根据对象的set方法赋值的。
我们可以将这个赋值的过程写成一个工具类,这样就只需要一句代码即可完成对象的赋值。下面是工具类的代码。
public class WebUtils { private BeanUtils beanutils; public <T>T copyPTB(Map value,T bean) { try { beanutils.populate(bean, value); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return bean; } }
这样servlet层只需一句代码就可完成赋值:studentdate= webutils.copyPTB(req.getParameterMap(), new StudentDate());