0

我正在使用 java 和 eclipse 编写一个 GWT 应用程序。我正在尝试向文本字段添加日期验证,但遇到了最奇怪的问题。

在尝试构建我的 ant 构建时,我收到以下错误 com.mvp4g.util.exception.loader.Mvp4gAnnotationException:

我的代码如下:

private boolean dateValidation(Date value) {
    boolean valid = true;
    String dateString = value.toString();   
    try {
        //SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
        //format.setLenient(false);
        //format.parse(dateString);
    } catch (Exception e) {
        valid = false;
    }
    return valid;
}

注释掉的代码是导致错误的代码。当我取消注释 format = new SimpleDateFormat() 语句时,建筑物会中断。否则,它构建得很好。有谁知道是什么原因造成的?我对 GWT 不是很熟悉,我不确定是什么原因造成的......

感谢任何帮助我一直在环顾四周并试图永远解决这个问题!如果您需要我添加更多代码/完整异常,请告诉我!

谢谢...

仅供参考:使用 gwt-2.5.1-2.5.1 jdk1.6.0_43 在 eclipse 中开发

更新:

我可以通过使用以下代码来解决这个问题:

DateTimeFormat dateFormat = DateTimeFormat.getFormat("MM/dd/yyyy HH:mm a");
Date current = view.getDtEndDate().getValue();                          
current = dateFormat.parse(dateFormat.format(current));

虽然问题在技术上已解决....我会对为什么会这样?谁能详细说明?

4

1 回答 1

0

我假设您正在验证视图或演示者类中的日期字段。因为您不能在客户端使用 SimpleDateFormat(No Source Code is available for type java.text.SimpleDateFormat: GWT Compilation Error),所以无法编译该类。

在 mvp4g 中,您必须注释您的演示者(在 @Event-annotation 中的事件总线内)和您的视图类作为 @Presenter 注释的参数。mvp4g 尝试加载这些类。在类无法编译的情况下,类不可用,无法加载。

这就是你得到 com.mvp4g.util.exception.loader.Mvp4gAnnotationException 的原因。

希望有帮助

于 2014-10-08T21:43:03.810 回答