`
xingerheyaolong
  • 浏览: 128415 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

apache-commons-beanutils的基本使用操作

阅读更多

针对于servlet+jsp的web项目的话,我们在将页面上传过来的值,在传入对象中去的时候,会很麻烦,要一个一个的set进去,而且还要注意格式的转换,下面apache-commons-beanutils 就可以很好的解决这个问题。

bean类:

import java.util.Date;
import java.util.Set;

public class Article {
	private int id;
	private String title;//标题
	private String content;//内容
	private String source;//来源
	private String author; //作者
	private String keyword; //关键字
	private String intro; //简介
	private String type; //分类
	private boolean recommend; //是否推荐阅读
	private boolean headline; //是否作为首页头条
	private int leaveNumber; //留言数
	private int clickNumber; //点击量
	private Set<Channel> channels; //所属频道
	private int topicId; //文章所属的主题,如果不属于某个主题,则此值为0
	private Date createTime; //创建时间
	private Date updateTime; //更新时间
	private Date deployTime; //发布时间
	private int adminId; //本篇文章是由哪个管理员创建的
	
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getSource() {
		return source;
	}
	public void setSource(String source) {
		this.source = source;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	public Date getDeployTime() {
		return deployTime;
	}
	public void setDeployTime(Date deployTime) {
		this.deployTime = deployTime;
	}
	public String getKeyword() {
		return keyword;
	}
	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}
	public String getIntro() {
		return intro;
	}
	public void setIntro(String intro) {
		this.intro = intro;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getLeaveNumber() {
		return leaveNumber;
	}
	public void setLeaveNumber(int leaveNumber) {
		this.leaveNumber = leaveNumber;
	}
	public int getClickNumber() {
		return clickNumber;
	}
	public void setClickNumber(int clickNumber) {
		this.clickNumber = clickNumber;
	}
	public Set<Channel> getChannels() {
		return channels;
	}
	public void setChannels(Set<Channel> channels) {
		this.channels = channels;
	}
	public int getAdminId() {
		return adminId;
	}
	public void setAdminId(int adminId) {
		this.adminId = adminId;
	}
	public int getTopicId() {
		return topicId;
	}
	public void setTopicId(int topicId) {
		this.topicId = topicId;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public boolean isRecommend() {
		return recommend;
	}
	public void setRecommend(boolean recommend) {
		this.recommend = recommend;
	}
	public boolean isHeadline() {
		return headline;
	}
	public void setHeadline(boolean headline) {
		this.headline = headline;
	}
}

2 BeanUtilstest写的测试类:

 

import java.util.Date;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.junit.Test;

import junit.framework.TestCase;


public class BeanUtilstest extends TestCase{
    
	
	public void testBeanUtils01() throws Exception
	{
		 Article art=new Article();
		 BeanUtils.copyProperty(art, "title", "标题");
		 System.out.println(art.getTitle());
	}
	
	public void testBeanUtils02() throws Exception
	{
		 Article art=new Article();
		 BeanUtils.copyProperty(art, "leaveNumber", "22");
		 System.out.println(art.getLeaveNumber());
	}
	
	public void testBeanUtils03() throws Exception
	{
		 Article art=new Article();
		 BeanUtils.copyProperty(art, "recommend", "true");
		 System.out.println(art.isRecommend());
	}
	
	public void testBeanUtils04() throws Exception
	{
		 Article art=new Article();
		 //注册你自定义的时间格式转换器
		 ConvertUtils.register(new DateConverter(), Date.class);
		 BeanUtils.copyProperty(art, "createTime", "2010-09-11");
		 
		 //这里打印时间的 则会报java.lang.IllegalArgumentException: argument type mismatch错误
		 //各个国家的时间格式不一样,所以apache无法去规范规范每个国家的日期格式,这个日期的话 你就只能自己去定义
		 //自己去定义一个时间转换器, 很简单 就是去实现一个Converter接口
		 System.out.println(art.getCreateTime());
	}
}
 

 

3 在处理时间格式上 DateConverter.java

 

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

import org.apache.commons.beanutils.Converter;

public class DateConverter implements Converter {

	private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

	/**
	 *  要将字符串的value转换为java.util.Date类型的值
	 *  targetClass	第一个参数 是你的目标类型
	 *   value   要转换的值,
	 *   Object   把要转回的值,返回出去就ok了
	 */
	public Object convert(Class targetClass, Object value) {

		if (targetClass != Date.class) {
			return null;
		}
		try {
			if (value instanceof String) {
				String v = (String) value;

				return format.parse(v);
			}
		} catch (ParseException e) {

			e.printStackTrace();
		}

		return null;
	}

}
 

 

分享到:
评论

相关推荐

    commons-beanutils-1.7.0.jar-解决commons-beanutils和commons-collections重复类

    解决办法是把commons-beanutils中的org/apache/commons/collections删除,这里上传一个改好可以直接使用的。

    commons-beanutils-1.8.3和commons-beanutils-1.8.0

    在给定的压缩包文件中,包含了两个版本的Apache Commons BeanUtils库:`commons-beanutils-1.8.0`和`commons-beanutils-1.8.3`。 Apache Commons BeanUtils的核心功能包括: 1. **属性访问**:BeanUtils提供了一...

    org.apache.commons.beanutils.jar

    Apache Commons BeanUtils是Apache软件基金会的一个开源项目,它提供了一组实用工具类,用于简化JavaBean对象的操作。这个库的核心是`org.apache.commons.beanutils`包,其中包含了大量的辅助方法,使得开发者可以...

    commons-beanutils-1.9.4

    在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目中集成和应用。 Apache Commons BeanUtils库的主要目标是简化JavaBean对象的属性访问。它通过提供一系列静态...

    jar包下载 axis mysql-connector-java commons-beanutils commons-logging apache-cxf

    本人曾经花费很多积分在各处下载的jar包,现将所用过得常用jar包打包下载...axis.jar,poi-3.17.jar,mysql-connector-java-5.0.4-bin.jar,java.util学习包,commons-beanutils与commons-logging,apache-cxf-3.2.1 包

    apache-commons-apis

    httpcomponents-client source ,Document( commons-beanutils commons-io commons-fileupload commons-lang,commons-math,commons-validator,commons-dbutils,commons-dbcp,commons-configuration)

    apache-commons下源码大放送

    commons-beanutils-1.8.0 commons-codec commons-collections commons-dbcp commons-dbutils commons-fileupload commons-io commons-lang commons-lang3 commons-logging commons-pool commons-validator

    apache-commons的所有API

    Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了许多实用的 Java 类库,旨在简化常见的编程任务。这些库包含了各种各样的功能,从字符串处理到数学运算,再到数据库连接和文件上传等。以下...

    commons-beanutils、commons-collections、commons-collections等常用jar 包下载

    1. **Apache Commons BeanUtils** - `commons-beanutils-1.9.3.jar` Apache Commons BeanUtils库是用于处理JavaBeans的工具类库。它提供了一种简单的方式来操纵JavaBean属性,无需直接调用getter和setter方法。这个...

    commons-beanutils-1.8.3

    配置服务端所需要的jar文件,包括commons-logging commons-beanutils commons-lang ezmorph json-lib-2.4-jdk15 commons-collections-3.2.1。

    commons-beanutils-1.9.3jar包source包及相关jar包

    `commons-beanutils-1.9.3.jar`是这个库的核心组件,包含了BeanUtils的所有功能。 `commons-beanutils-1.9.3-sources.jar`则是源代码包,它包含了BeanUtils库的完整源代码,这对于开发者进行调试、学习和自定义扩展...

    apache-commons的jar包

    包括apache-commons的各种jar包及其源码:commons-beanutils-1.8.0,commons-codec-1.4,commons-collections-3.2.1,commons-dbutils-1.3,commons-dbcp-1.4,commons-fileupload-1.2.1,commons-lang-2.5, ...

    apache-commons源文件1,包括src,doc,jar,最新的

    commons-beanutils-1.8.3-bin.zip commons-betwixt-0.8.zip commons-chain-1.2-bin.zip commons-cli-1.2-bin.zip commons-codec-1.7-bin.zip commons-collections-3.2.1-bin.zip commons-compress-1.4.1-bin.zip ...

    org.apache.commons.beanutils.BeanUtils实例

    此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    commons-beanutils, Apache Commons Beanutils的镜像.zip

    commons-beanutils, Apache Commons Beanutils的镜像 Apache Commons BeanUtils Apache Commons BeanUtils提供了一个 easy-to-use,但它围绕反射。文档更多信息可以在公共BeanUtils主页上找到。 可以浏览 JavaDoc插

    commons-beanutils-1.9.3.jar

    总的来说,`commons-beanutils-1.9.3.jar`是一个强大的工具,对于任何涉及大量JavaBean操作的Java项目来说都是必不可少的。通过熟练掌握和应用这个库,开发者可以更加高效地处理对象属性,实现更灵活的数据操作。

    commons-beanutils-1.9.1.jar<---&gt;commons-logging-1.1.3.jar

    总的来说,`commons-beanutils-1.9.1.jar`和`commons-logging-1.1.3.jar`是Java开发中的两个重要工具,它们简化了JavaBeans的操作,并提供了灵活的日志机制。这两个库的结合使用,体现了Java设计原则中的“依赖倒置...

    commons-beanutils-1.9.4.jar.zip

    在这个"commons-beanutils-1.9.4.jar.zip"压缩包中,包含的核心文件是"commons-beanutils-1.9.4.jar",这是Apache Commons BeanUtils库的1.9.4版本。 Apache Commons BeanUtils的主要功能和知识点包括: 1. **属性...

Global site tag (gtag.js) - Google Analytics