首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

apache.commons.beanutils转换器的运用

2012-07-27 
apache.commons.beanutils转换器的使用有一个枚举类型的类:?public enum Gender {MAN{public String getNa

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();}}}

热点排行