java bean 与 表单自动匹配
来源:互联网 发布:apache poi 读取excel 编辑:程序博客网 时间:2024/05/17 01:07
public static void autoBind(Object bean,HttpServletRequest request){Map<String, String[]> map=request.getParameterMap();Set<String> key=map.keySet();Class c=bean.getClass();final String stringType="";final Integer integerType=1;final Short shortType=1;final Long longType=(long) 1;final Float floatType=(float) 1;final Double doubleType=(double) 1;final Character characterType='c';final Boolean booleanType=true;final Byte byteType=1;Date dateType=new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Field[] fields=c.getDeclaredFields();try {for (Field field : fields) {field.setAccessible(true);PropertyDescriptor pd=new PropertyDescriptor(field.getName(), c);Method method=pd.getReadMethod();for(String k : key){if(k.equals(field.getName())){if(field.getType().isInstance(byteType) || field.getType()==byteType.TYPE)field.set(bean, Byte.parseByte(map.get(k)[0]));if(field.getType().isInstance(stringType))field.set(bean, map.get(k)[0]); if(field.getType().isInstance(integerType) || field.getType()==integerType.TYPE) field.set(bean, Integer.parseInt(map.get(k)[0]));//设置属性值 if(field.getType().isInstance(shortType) || field.getType()==shortType.TYPE) field.set(bean, Short.parseShort(map.get(k)[0])); if(field.getType().isInstance(longType) || field.getType()==longType.TYPE) field.set(bean, Long.parseLong(map.get(k)[0])); if(field.getType().isInstance(characterType) || field.getType()==characterType.TYPE) field.set(bean, Long.parseLong(map.get(k)[0])); if(field.getType().isInstance(booleanType) || field.getType()==booleanType.TYPE) field.set(bean, Boolean.parseBoolean(map.get(k)[0])); if(field.getType().isInstance(floatType) || field.getType()==floatType.TYPE) field.set(bean, Float.parseFloat(map.get(k)[0])); if(field.getType().isInstance(doubleType) || field.getType()==doubleType.TYPE) field.set(bean, Double.parseDouble(map.get(k)[0])); if(field.getType().isInstance(dateType))try {field.set(bean, sdf.parse(map.get(k)[0]));} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }}} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IntrospectionException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
0 0
- java bean 与 表单自动匹配
- 深度剖析:Java POJO Bean 对象与 Web Form 表单的自动装配
- 深度剖析:Java POJO Bean 对象与 Web Form 表单的自动装配
- 深度剖析:Java POJO Bean 对象与 Web Form 表单的自动装配
- 深度剖析:Java POJO Bean 对象与 Web Form 表单的自动装配
- Jsp/Servlet根据请求参数自动填充Java对象:表单Bean
- Java 自动表单提交
- easyui表单多Bean加载与提交
- jsp与java bean
- 闲谈JAVA与BEAN
- jsp与java bean
- from表单提交给action自动生成bean的方法
- Servlet与表单|路径匹配详解
- spring的自动装配Bean与自动检测Bean
- spring的自动装配Bean与自动检测Bean
- MFC实现自动填写表单与自动提交表单
- MFC实现自动填写表单与自动提交表单
- 利用Java的反射机制实现Bean实体与Map自动转换的工具类
- 【机器学习基础概念】VC维的来龙去脉
- 漫谈兼容内核之十二:Windows的APC机制
- 看懂源码之注释规范
- 深入剖析 redis 事件驱动
- 3.3 Git 分支 - 分支管理
- java bean 与 表单自动匹配
- 数据结构List之Vector
- 【Android应用开发】Android View 组件
- android处理运行时的变更(较大数据的保存)
- 动态获取屏幕宽高
- 3.4 Git 分支 - 分支开发工作流
- ThinkPHP5.0学习笔记
- key permission
- 好用的插件分享