自定义类型转换器出错:no matching editors or conversion strategy found

     因前台jsp页面向后台传值包含复杂类型 (Timestamp version),参考一些文档自定义了一个VersionEditor,代码为:

 

public class VersionEditor extends PropertyEditorSupport {
public VersionEditor() {
	  super();
	  
  }
@Override
  public void setAsText(String text) throws IllegalArgumentException {
	  log.debug(this.toString());
      setValue(convertFromText(text));
  }

@Override
  public String getAsText() {
      String time = "";

      Object objTime = getValue();
      if (objTime != null) {
          if (objTime instanceof Timestamp) {
              Timestamp ts = (Timestamp) objTime;
              time = getAsText(ts);
          }
      }

      return time;
  }
public static String getAsText(Timestamp objTime) {
      String time = "";
      if (objTime != null) {
                time = objTime.toString();
      }
      return time;
}
private static Timestamp convertFromText(String text) throws IllegalArgumentException {
      Timestamp ts = null;
//逻辑处理...
}
}
在Controller 中加入
@InitBinder
    public void initBinder(WebDataBinder  binder) {
    	log.debug("initBinder start in class:"+this.getClass().getName());
    	RequestContextHolder.getRequestAttributes();
    	 // Time stamp type convert
        // version convert
        VersionEditor versionEditor = new VersionEditor();
        binder.registerCustomEditor(Timestamp.class, versionEditor);
        binder.registerCustomEditor(Timestamp.class, "version", versionEditor);
        log.debug("initBind
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值