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版权协议,转载请附上原文出处链接和本声明。