`
whoosh
  • 浏览: 233832 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

apache.commons.beanutils转换器的使用

 
阅读更多

有一个枚举类型的类:

 

public enum Gender {
	MAN{
		public String getName(){return "男";}
	},WOMEN{
		public String getName(){return "女";}
	};
	public abstract String getName();
}

 为他定义一个转换器:

 

import org.apache.commons.beanutils.Converter;
import cn.aaron.bean.user.Gender;

public class GenderConverter implements Converter{

	@SuppressWarnings("unchecked")
	public Object convert(Class clazz, Object value) {
		if(value==null || "".equals((String)value)) return null;
		if(value instanceof Gender) return value;//如果要转换为枚举类型
		try{//如果要转换为String类型
			return Gender.valueOf((String) value);
		}catch (Exception e) {}
		return null;
	}
}

最后在Filter里面注册一下就行了:

 

public class SetCodeFilter implements Filter{

	public void destroy() {}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain filterchain) throws IOException, ServletException {
		HttpServletRequest req = (HttpServletRequest) request;
		req.setCharacterEncoding("UTF-8");
		filterchain.doFilter(request, response);
	}

	public void init(FilterConfig config) throws ServletException {
		ConvertUtils.register(new DateConverter(), Date.class);
		ConvertUtils.register(new SexConverter(), Sex.class);
		ConvertUtils.register(new GenderConverter(), Gender.class);//此处就是注册Gender转换器
		ConvertUtils.register(new DeliverWayConverter(), DeliverWay.class);
		ConvertUtils.register(new PaymentWayConverter(), PaymentWay.class);
		try{
			Properties prop = new Properties();
			prop.put("runtime.log", config.getServletContext().getRealPath("/WEB-INF/log/velocity.log"));
			prop.put("file.resource.loader.path", config.getServletContext().getRealPath("/WEB-INF/vm"));
			prop.put("input.encoding", "UTF-8");
			prop.put("output.encoding", "UTF-8");
			Velocity.init(prop);
		}catch( Exception e ){
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    org.apache.commons工具包

    6. **自定义转换器**:如果你需要处理一些特殊的类型转换,可以通过实现`Converter`接口并注册到BeanUtils中,以覆盖默认的转换逻辑。 在`commons-beanutils-1.8.0-bin.zip`这个压缩包中,包含的是Apache Commons ...

    org.apache.commons 全部包

    它提供了各种集合工厂方法、迭代器、转换器和策略,以及一些高级数据结构。例如,`CollectionUtils` 提供了一组静态方法,用于集合的操作和查询,如添加、移除元素,或者找出集合的并集、交集和差集。 4. **Commons...

    org.apache.commons jar包

    4. **Commons BeanUtils**:简化了JavaBeans对象的操作,提供了属性复制、类型转换等便利方法。 5. **Commons Net**:包含了多种网络协议的实现,如FTP、SMTP、Telnet等,方便进行网络通信。 6. **Commons Codec**...

    org.apache.commons jar

    3. **Apache Commons Collections**: 这个模块扩展了 Java 的集合框架,提供了额外的数据结构、迭代器、比较器和集合操作。例如,ListUtils 提供了对列表的实用操作,如合并、查找和排序,MapUtils 提供了对映射对象...

    org.apache.commons

    6. **BeanUtils**: Apache Commons BeanUtils 提供了 Java 对象属性的便捷操作,支持自动类型转换,简化了对象之间的属性复制。 7. **CLI**: Apache Commons CLI 提供了命令行接口(CLI)解析工具,帮助处理命令行...

    org.apache.commons包

    2. **Commons Collections**: 这个模块提供了对Java集合框架的增强,包括新的集合实现、迭代器工厂、比较器、转换器等。它使得对集合的操作更加灵活和高效。 3. **Commons IO**: 专注于输入/输出操作,提供了许多...

    org.apache.commons 所有jar包 非常实用

    使用这些 Apache Commons 的 jar 包,开发者可以避免重复造轮子,提高代码质量和效率。通过选择所需的模块,你可以有效地定制你的项目依赖,避免引入不必要的库。这个压缩包提供的所有 jar 包,无论是在小型项目还是...

    org.apache.commons jar包大全

    3. **Commons BeanUtils**:简化对象属性的访问和操作,提供了自动类型转换和基于属性名的操作对象属性的工具。 4. **Commons Collections**:扩展了Java集合框架,提供了各种集合操作的工具类,如列表、映射、队列...

    Apache.commons

    Apache Commons Collections库提供了大量的集合框架增强功能,包括集合工厂、迭代器、比较器、映射器、堆栈、队列和优先级队列等。它还包含了一些算法,如排序和搜索,以及一些特殊类型的集合,如双向列表和多值映射...

    commons-beanutils-1.9.4

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的JavaBean操作功能。在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目...

    commons-beanutils-1.6.1-src.zip

    它还包含了对转换器(Converter)的支持,能够自动将字符串转换为Java对象。 - `org.apache.commons.beanutils.PropertyUtils`:扩展了BeanUtils的功能,增加了对复杂属性路径的支持,可以处理嵌套的JavaBean属性...

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

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

    apache.commons的jar包

    Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了大量的 Java 类库,以帮助开发人员处理常见的编程任务。这些类库通常以 JAR(Java Archive)文件的形式分发,方便集成到Java应用程序中。在本...

    commons-beanutils 源码

    Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作,使得开发者能够更加方便地进行数据绑定和...

    commons-beanutils-1.8.0.jar

    《Apache Commons BeanUtils:深入解析与应用》 Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为处理JavaBeans提供了极大的便利。这个库的核心功能在于提供了一种简单、直观的方式来操作Java对象...

    commons-beanutils-1.7.0-src.zip

    源码阅读时,我们不仅可以了解BeanUtils的基本工作流程,还可以学习到设计模式的应用,如工厂模式(用于创建Converter实例)、装饰器模式(用于增强方法的行为)以及反射和代理技术的使用。此外,通过对异常处理的...

    commons-beanutils.jar commons-collections-3.1.jar commons-pool-1.2.jar

    这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...

    commons-beanUtils-src

    - `org.apache.commons.beanutils.locale.LocaleConverter`: 为本地化支持的转换器,处理不同语言环境下的数据格式。 **4. 实战应用** 在实际开发中,BeanUtils常用于以下场景: - **数据绑定**:在Web开发中,...

Global site tag (gtag.js) - Google Analytics