说明:在servlet中常需要从request中获取参数,同时需要赋值给某个实例对象,当参数较少时可以使用getParameter(String name);从request中获取,但是当数据较多时,代码冗余复杂,没有技术含量,所以利用反射写了一个批量对参数获取并赋值的方法(暂时只支持对String,Integer,int,Float,float,Double,double,java.sql.Date,java.util.Date类型的数据或者数组进行赋值)
import java.lang.reflect.Field;
import java.sql.Date;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import javax.servlet.http.HttpServletRequest;
/**
* 批量从request请求中获取参数值,并赋值给对象
*
* @author dingshuangen
*
*/
public class Conversion {
public static <T> void convert(T t, HttpServletRequest request) {
// 获取类对象
Class<?> c = t.getClass();
try {
// 获取所有属性
Field[] fs = c.getDeclaredFields();
for (Field f : fs) {
// 设置为可访问
f.setAccessible(true);
// 获得属性名
String name = f.getName();
// 获得属性的类型名