java 获取表单传递的值

1、从request 中,获取所有参数的值。

public class ParamsUtil{

public static Object getParamsByRequest(String classname,
            HttpServletRequest request) {
        Object bean = null;
        Enumeration enu = request.getParameterNames();
        if (enu != null) {
            if (classname != null && !"".equals(classname)) {
                try {
                    bean = Class.forName(classname).newInstance();
                    while (enu.hasMoreElements()) { //获取bean 中所有属性
                        String name = (String) enu.nextElement();
                        String value = request.getParameter(name);
                        //解码
                       // String deString = URLDecoder.decode(value, "UTF-8");
                        //value = CommonUtil.getDecode(value);
                        if(fieldIsExist(classname, name)){ 
                            //属性存在,设值
                            //ReflectionUtils.setField(name, bean, value);
                            BeanUtils.setProperty(bean, name, value);
                        }
                    }
                } catch (InstantiationException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (ClassNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }  
            }
        }
        return bean;
    }
   
    /**
     * 判断类中是否存在此属性 存在,返回true
     * @param className 类名
     * @param fieldName 查找属性名称
     * @return
     * @Description:
     */
    private static boolean fieldIsExist(String className,String fieldName){
        //Class userCla = (Class) bean.getClass();
        boolean exist = false;
        Field[] fs  = null;
        try {
            Class  cls = Class.forName(className);
            if(fs==null)
                fs =  cls.getDeclaredFields();
            //log.info("fs.length = "+fs.length);
           for (int i = 0; i < fs.length; i++) {
               Field f = fs[i];
               //log.info("Field  = "+f.getName());
               if(f.getName().equals(fieldName)){
                   exist = true;
                   break;
               }
           }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return exist;
    }
}


需要的jar包:commons-beanutils-1.8.2.jar、commons-logging-1.1.1.jar





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值