`
周一Monday
  • 浏览: 345108 次
  • 来自: 北京
社区版块
存档分类
最新评论

使用BeanUtils实现表单数据到JavaBean数据之间的封装

阅读更多

一个用于WEB层的工具方法,实现表单参数到JavaBean的封装

1.依赖的JAR文件

commons-beanutils-1.8.0.jar

commons-logging.jar

 

2.代码

package org.monday.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;

/**
 * WEB层工具类
 * 
 * @author Monday
 */
public class WebUtil {

	/**
	 * 实现表单数据到JavaBean数据之间的封装
	 */
	@SuppressWarnings("unchecked")
	public static <T> T request2Bean(HttpServletRequest request, Class<T> beanClass) {

		try {
			/** 得到要转换Bean的类型 */
			T bean = beanClass.newInstance();
			/** 获取表单参数 */
			Map map = request.getParameterMap();

			/** 注册类型转换器 */
			ConvertUtils.register(new Converter() {

				/** 实现convert方法 */
				public Object convert(Class type, Object value) {
					if (value == null) {
						return null;
					}
					String str = (String) value;
					if ("".equals(str.trim())) {
						return null;
					}
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
					try {
						return sdf.parse(str);
					} catch (ParseException e) {
						throw new RuntimeException(e);
					}
				}

			}, Date.class);
			/** 构建Bean */
			BeanUtils.populate(bean, map);
			return bean;
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}
}

 

 

其实,这些代码没什么。使用Struts2的ModelDriver可以很容易实现。

只是不想使用框架而已。最近有要开始找工作了,写写基础,复习复习.

分享到:
评论

相关推荐

    Servlet中对获取网页表单数据自动给JavaBean赋值的BeanUtil工具类

    总的来说,BeanUtil工具类是Java Web开发中的实用工具,它简化了Servlet处理表单数据和JavaBean之间数据转换的过程,让代码更简洁、更易于维护。在学习和使用BeanUtil时,还需要了解其潜在的类型转换问题和安全性...

    commons-beanutils快速封装form表单数据包

    2. **转换器(Converters)**:BeanUtils内部使用了`ConvertUtils`来处理类型转换,自动将字符串形式的表单数据转换为JavaBean中相应属性的类型。例如,如果`username`属性是`int`类型,BeanUtils会尝试将字符串转换...

    BeanUtils_beanutils_

    BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。它可以给JavaBean封装一个字符串数据,也可以将一个表单提交的所有数据封装到JavaBean中。使用第三方工具,需要导入jar包:

    beanutils JAR包下载

    - 数据绑定:在Web应用中,BeanUtils可以帮助将HTTP请求参数绑定到JavaBean,简化表单数据的处理。 - 配置管理:在配置文件中定义的属性可以通过BeanUtils轻松地注入到Java对象中。 - 数据持久化:在对象持久化过程...

    BeanUtils.zip

    BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。它可以给JavaBean封装一个字符串数据,也可以将一个表单提交的所有数据封装到JavaBean中。

    commons-beanutils

    2. **数据绑定**:在表单提交或XML解析等场景下,BeanUtils能自动将输入数据绑定到JavaBean对象,简化了数据处理流程。 3. **属性拷贝**:`BeanUtils.copyProperties()`方法可以将一个对象的所有属性值复制到另一个...

    beanutils工具类

    在处理JavaBean的集合时,`BeanUtils`还提供了`populate()`方法,它可以一次性将Map对象中的键值对设置到JavaBean对象上,这在处理表单数据或配置文件时非常有用。 除了上述核心功能外,`BeanUtils`还包含了处理...

    JavaBean讲解(上)——代码+笔记

    2. **属性封装**:类中的成员变量通常是私有的(private),通过getter和setter方法来访问和修改这些属性值,实现数据的封装。 3. **可序列化**:为了能够在网络中传输或持久化存储JavaBean,需要实现Serializable...

    参数封装成对象-手动封装(非springmvc)

    总结起来,"参数封装成对象-手动封装(非springmvc)"涉及的关键技术点包括:JavaBean模式、HTTP请求参数处理、Apache Commons BeanUtils库的使用以及手动映射数据到对象的方法。了解和掌握这些知识点,对于进行Java ...

    java 包commons-beanutils-1.9.2-bin

    5. **拷贝属性**:BeanUtils提供了`copyProperties()`方法,可以将一个JavaBean对象的属性值复制到另一个对象,这对于创建对象副本或填充表单数据非常便捷。 6. **国际化支持**:通过配合使用Apache Commons Locale...

    Java Web程序设计入门课件-初识JavaBean.pptx

    通过BeanUtils,我们可以轻松地从表单数据中提取值并设置到JavaBean对象上,反之亦然。例如,可以使用`BeanUtils.copyProperties()`方法将一个JavaBean的属性复制到另一个JavaBean,或者使用`BeanUtils.getProperty...

    Java Web项目之JavaBean应用.pdf

    Apache Commons的BeanUtils工具类能便捷地实现表单数据到User对象的自动映射,同时User对象也能轻松地将数据传递给控制器、业务逻辑层和数据访问层,用于执行数据库操作。 在用户注册和登录场景下,User类的定义...

    JavaWeb程序设计入门课件BeanUtils工具共6页

    通过调用`BeanUtils.copyProperties()`方法,可以将一个JavaBean对象的属性值复制到另一个JavaBean对象中,这在处理表单提交的数据或者在不同业务对象间传递数据时非常方便。例如,假设我们有UserBean和UserDto两个...

    Commons-beanutils.rar

    - **Web开发**:在Servlet和JSP中,BeanUtils常用于处理表单数据,将请求参数映射到JavaBean。 - **框架集成**:许多Java框架,如Spring MVC,Struts等,都利用BeanUtils来进行数据绑定和对象复制。 - **数据迁移...

    strust 英文介绍,strust 英文介绍,strust 英文介绍,strust 英文介绍,

    例如,可以使用BeanUtils复制一个JavaBean的所有属性到另一个JavaBean中。 #### 8. **Tag usage** - Struts框架提供了一系列自定义标签库,这些标签可以帮助开发者更方便地操作页面元素。例如,可以使用标签来遍历...

    J2EE开发中减少编写代码工作量的几种方法

    利用BeanUtils等工具,可以轻松地在Action类中实现数据转换,即将表单数据或查询结果转换为Domain Object,再将Domain Object转换为适合展示的Form Bean,从而简化了数据处理过程,提高了代码的可维护性。...

    Struts1配置

    例如,当表单提交后,BeanUtils可以将表单数据自动绑定到ActionForm中。 `commons-digester.jar`是Apache Commons Digester库,它是一个用于XML文档解析的工具,能够根据预定义的规则自动创建和配置Java对象。在...

    用户模块示例

    BeanUtils是Apache Commons项目的一部分,提供了对JavaBean操作的实用工具类,简化了属性的设置和获取,使得在业务逻辑层处理用户数据更加方便。 JSTL是一组标准的JSP标签库,它提供了诸如流程控制、XML处理、国际...

    传智播客ppt,关于struts1的

    对于具体的功能实现,如身份验证模块,开发者需要定义一个登录表单,创建对应的JavaBean来存储用户输入的数据,然后在Action中处理验证逻辑。如果验证成功,将用户重定向到成功页面;验证失败,则返回错误提示的页面...

    JAVA WEB典型模块与项目实战大全

    18.2 封装javabean的commons-beanutils组件  18.3 关于hibernate框架中一些通用类  18.4 实现hibernate分页系统前期准备  18.5 关于hibernate分页系统的具体实现  18.6 关于hibernate分页系统的表示层  ...

Global site tag (gtag.js) - Google Analytics