【问题标题】:Vaadin & Joda DateTimeVaadin & Joda 日期时间
【发布时间】:2011-09-02 10:23:27
【问题描述】:

我使用 vaadin 6.6 和 joda DateTime 1.6.2 我使用How to use DateField with Joda DateTime property?

中描述的解决方案

值设置/获取正确,但不幸的是我得到转换异常:

异常在 BeanValidationValidator 中抛出:

方法是 JodaDateTime,值是 java.util.Date JodaTime 不能从 Date 分配 JodaTime 没有 String 构造函数

私有对象转换值(对象值) 抛出 Property.ConversionException { // 尝试直接分配兼容的值 如果(值 == 空 || method.getType().isAssignableFrom(value.getClass())) { 返回值; } 别的 { 尝试 { // 获取字符串构造函数 最终构造函数 constr = method.getType().getConstructor( 新类[] { String.class }); return constr.newInstance(new Object[] { value.toString() }); } 捕捉(最终的 java.lang.Exception e){ 抛出新的 Property.ConversionException(e); } } }

你有什么想法吗???

【问题讨论】:

    标签: datetime jodatime vaadin


    【解决方案1】:

    我自己没有尝试过,但从我在 BeanValidationValidator 中看到的内容,您还需要扩展它并添加 JodaTime 和 java.util.Date 之间的隐式转换。

    至少 BeanValidationValidator.validate(Object) 方法需要处理这种转换。

    【讨论】:

      【解决方案2】:

      看看PopupDateTimeField.java 您还可以使用 PropertyConverter

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-13
        • 1970-01-01
        • 2014-01-04
        相关资源
        最近更新 更多