我正在使用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不是很熟悉,也不确定是什么原因导致了这种情况。。。。
感谢任何帮助,我一直在四处寻找,并试图永远解决这个问题!如果您需要我添加更多代码/完整异常,请告诉我!
谢谢。。。
FYI:使用gwt-2.5.1-2.5.1jdk1.6.0_43eclipse 的开发
更新:
我能够通过使用以下代码来修复这个问题:
DateTimeFormat dateFormat = DateTimeFormat.getFormat("MM/dd/yyyy HH:mm a");
Date current = view.getDtEndDate().getValue();
current = dateFormat.parse(dateFormat.format(current));
尽管问题在技术上得到了解决。。。。我很感兴趣为什么会这样?有人能详细说明吗?
我假设您正在验证视图或演示者类中的日期字段。由于不能在客户端使用SimpleDateFormat(类型java.text.SimpleDateFormat:GWT Compilation Error没有可用的源代码),因此无法编译该类。
在mvp4g中,您必须将您的演示者(在@Event注释中的eventbus内)和视图类注释为@presenter注释的paraemter。mvp4g尝试加载这些类。在无法编译类的情况下,该类不可用,也无法加载。
这就是您获得com.mvp4g.util.exception.loader.Mvp4gAnnotationException的原因。
希望对有所帮助