2014-10-02 52 views
0

我正在写一个使用Java和eclipse的GWT应用程序。我正在尝试将日期验证添加到文本字段,并且遇到了最奇怪的问题。Mvp4gAnnotationException当使用SimpleDateFormat

当试图建立我的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,我不知道会是什么原因造成这种情况....

任何帮助表示赞赏我一直在环顾四周,试图弄清楚这永远!让我知道如果你需要我添加更多的代码/完整的例外!

谢谢...

FYI: 使用GWT-2.5.1-2.5.1 jdk1.6.0_43 在Eclipse开发

UPDATE:

我能使用以下代码修复此问题:

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

尽管issu e在技术上解决了....我会对这是为什么感兴趣?任何人都可以详述吗?

回答

0

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

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

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

希望可以帮到