Bean中属性转到Request对象中
使用反射获取Java bean属性
// buyVO 对象
Field[] field = buyVO.getClass().getDeclaredFields(); for(int j=0 ; j<field.length ; j++){ //遍历所有属性 String name = field[j].getName(); //获取属性的名字 String getname = ""; if(name.equals("sType")){ //特殊字段特殊处理 getname = "get"+name; }else{ getname = "get"+name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符大写 } String type = field[j].getGenericType().toString(); //获取属性的类型 if(type.equals("class java.lang.String")){ //如果type是类类型,则前面包含"class ",后面跟类名 Method m = buyVO.getClass().getMethod(getname); String valueTemp = (String) m.invoke(buyVO); //调用getter方法获取属性值 if(value != null){ request.setAttribute(name,valueTemp); } }else if(type.equals("class java.lang.Integer") || type.equals("int")){ Method m = buyVO.getClass().getMethod(getname); Object o = m.invoke(buyVO); //调用getter方法获取属性值 if(null !=o){ int valueTemp = (Integer) o; if(value != null){ request.setAttribute(name,valueTemp); } } }else if(type.equals("Double") || type.equals("class java.lang.Double")){ Method m = buyVO.getClass().getMethod(getname); Object o = m.invoke(buyVO); //调用getter方法获取属性值 if(null !=o){ Double valueTemp = (Double) o; if(value != null){ request.setAttribute(name,valueTemp); } } } }