request.getParameter() 与 javabean类型 创建要封装的数据bean 比较 以及需要注意的问题

1:jsp页面多个文本输入内容,service层读取jsp内容,可以用bean来封装数据,并快速注入实体类中实体化。

2:代码如下:

public static <T> T request2Bean(HttpServletRequest request, Class<T> beanClass) {

try {

 

T bean = beanClass.newInstance(); // 实例化随意类型

Enumeration<String> e = request.getParameterNames(); // 获得参数的一个列举方法可以枚举(一次获得一个)对象集合中的元素

while (e.hasMoreElements()) { // 利用java反射、内省进行copy

String name = e.nextElement();  //jsp中name值

String value = request.getParameter(name);//获取jsp文本框中的值

 

BeanUtils.setProperty(bean, name, value);

}

return bean;

} catch (Exception e) {

throw new RuntimeException(e);

}

}

3:(特别要注意jsp中name值必须与实体类中所对应的属性名相同,,否则无法注入

 

1:request.getParameter();  括号内的name属性的  “值”  来获取jsp页面的文本框中值
   用途:对于实体类型 属性少的来说用这个



2:javabean类型  创建要封装的数据bean 此处使用泛型多用于 集合框架 在实际开发可以简化且保证代码质量

用途:对于实体类型 属性多的来说用这个


public static<T> T request2Bean(HttpServletRequest request,Class<T> beanClass) {  //,后面传入实体化类
        try {
            
            T bean = beanClass.newInstance(); //实例化随意类型
            Enumeration<String> e=request.getParameterNames(); //获得参数的一个列举方法可以枚举(一次获得一个)对象集合中的元素(也就是获得jsp中的所有name属性的“name“)
            while(e.hasMoreElements()) {  //利用java反射、内省进行copy
                String name =e.nextElement();
                String value = request.getParameter(name);
                BeanUtils.setProperty(bean, name, value);
            }
            return bean;  //放回实体类对象
        }catch(Exception e) {
            throw new RuntimeException(e);
        }
    }


User user1=WebUtils.request2Bean(request,User.class); //获取表单传来的数据  调用上面的方法
String user=user1.getUser();
String password=user1.getPassword();


版权声明:本文为weixin_44936687原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。