我使用 gwt 2.7.0 请求工厂。编辑:我不使用客户端验证,只使用服务器端验证(休眠注释)
我试图编辑的实体称为“Article.java”。
在正常情况下,我会使用 ArticleEditor(从编辑器扩展)在客户端编辑文章。当文章到达服务器时,将执行验证。如果任何验证出错,客户端将收到“Set < ConstraintViolation < ? > > oErrors”,我可以在 EditorFramework 中使用它来显示表单上的错误。
在我的特殊情况下,我有两台服务器:
A = One 正在使用 gwt 编辑 ValueProxy (pojos)(不持久化实体)。
B = 其他可以访问数据库(休眠),由 A 通过无状态 EJB 访问。
我制作了一份名为“PersistentArticle.java”的文章(不包含任何休眠注释,简单的pojo)(包含所有休眠注释逻辑)。两个类具有相同的属性和方法。
编辑文章后,它到达服务器端 A,然后我通过 ejb 消息将对象发送到服务器 B。在 B 中,我从 Article 类创建 PersistentArticle 的实例并尝试持久化。如果任何验证出错,它会生成 javax.validation.ConstraintViolationException。
问题是我不知道如何将服务器 B 生成的 ValidationException 与服务器 A 中的 requestFavtory 和 EditorFramework 绑定,所以我可以在表单中显示错误。(在正常情况下,这是由服务器 A 中的 requestfactory 自动完成的)
回到客户端,我在
public void onFailure(ServerFailure oError) 方法来自请求的接收者,而不是在
方法 onConstraintViolation(Set< ConstraintViolation< ? >> oErrors,这是最理想的。
我有可能尝试做什么吗?你有什么建议吗 ?
英语不是我的母语;请原谅我的任何错误。
谢谢先进。