有一个枚举类型的类:
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();
}
}
}
分享到:
相关推荐
6. **自定义转换器**:如果你需要处理一些特殊的类型转换,可以通过实现`Converter`接口并注册到BeanUtils中,以覆盖默认的转换逻辑。 在`commons-beanutils-1.8.0-bin.zip`这个压缩包中,包含的是Apache Commons ...
它提供了各种集合工厂方法、迭代器、转换器和策略,以及一些高级数据结构。例如,`CollectionUtils` 提供了一组静态方法,用于集合的操作和查询,如添加、移除元素,或者找出集合的并集、交集和差集。 4. **Commons...
4. **Commons BeanUtils**:简化了JavaBeans对象的操作,提供了属性复制、类型转换等便利方法。 5. **Commons Net**:包含了多种网络协议的实现,如FTP、SMTP、Telnet等,方便进行网络通信。 6. **Commons Codec**...
3. **Apache Commons Collections**: 这个模块扩展了 Java 的集合框架,提供了额外的数据结构、迭代器、比较器和集合操作。例如,ListUtils 提供了对列表的实用操作,如合并、查找和排序,MapUtils 提供了对映射对象...
6. **BeanUtils**: Apache Commons BeanUtils 提供了 Java 对象属性的便捷操作,支持自动类型转换,简化了对象之间的属性复制。 7. **CLI**: Apache Commons CLI 提供了命令行接口(CLI)解析工具,帮助处理命令行...
2. **Commons Collections**: 这个模块提供了对Java集合框架的增强,包括新的集合实现、迭代器工厂、比较器、转换器等。它使得对集合的操作更加灵活和高效。 3. **Commons IO**: 专注于输入/输出操作,提供了许多...
使用这些 Apache Commons 的 jar 包,开发者可以避免重复造轮子,提高代码质量和效率。通过选择所需的模块,你可以有效地定制你的项目依赖,避免引入不必要的库。这个压缩包提供的所有 jar 包,无论是在小型项目还是...
3. **Commons BeanUtils**:简化对象属性的访问和操作,提供了自动类型转换和基于属性名的操作对象属性的工具。 4. **Commons Collections**:扩展了Java集合框架,提供了各种集合操作的工具类,如列表、映射、队列...
Apache Commons Collections库提供了大量的集合框架增强功能,包括集合工厂、迭代器、比较器、映射器、堆栈、队列和优先级队列等。它还包含了一些算法,如排序和搜索,以及一些特殊类型的集合,如双向列表和多值映射...
Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的JavaBean操作功能。在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目...
它还包含了对转换器(Converter)的支持,能够自动将字符串转换为Java对象。 - `org.apache.commons.beanutils.PropertyUtils`:扩展了BeanUtils的功能,增加了对复杂属性路径的支持,可以处理嵌套的JavaBean属性...
1. **Apache Commons BeanUtils** - `commons-beanutils-1.9.3.jar` Apache Commons BeanUtils库是用于处理JavaBeans的工具类库。它提供了一种简单的方式来操纵JavaBean属性,无需直接调用getter和setter方法。这个...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了大量的 Java 类库,以帮助开发人员处理常见的编程任务。这些类库通常以 JAR(Java Archive)文件的形式分发,方便集成到Java应用程序中。在本...
Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作,使得开发者能够更加方便地进行数据绑定和...
《Apache Commons BeanUtils:深入解析与应用》 Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为处理JavaBeans提供了极大的便利。这个库的核心功能在于提供了一种简单、直观的方式来操作Java对象...
源码阅读时,我们不仅可以了解BeanUtils的基本工作流程,还可以学习到设计模式的应用,如工厂模式(用于创建Converter实例)、装饰器模式(用于增强方法的行为)以及反射和代理技术的使用。此外,通过对异常处理的...
这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...
- `org.apache.commons.beanutils.locale.LocaleConverter`: 为本地化支持的转换器,处理不同语言环境下的数据格式。 **4. 实战应用** 在实际开发中,BeanUtils常用于以下场景: - **数据绑定**:在Web开发中,...