2

环境

  • 使用 RequestFactory 的 GWT 2.5
  • EclipseLink 2.4.1
  • PostgreSQL 9.1

问题

为了给我正在查看的 RequestFactory 部分提供上下文,我在下面插入了片段的结构:

     requestContext.persist().fire(new Receiver<ObjectProxy>(){
             @Override
             public void onSuccess(ObjectProxy response){
                    //Run code here...
             }

             @Override
             public void onFailure(ServerFailure error){
                   //See the description below for what needs to be done here.
             }

在 onFailure() 函数中,我希望对 Postgresql 可能引发的错误有不同的响应,例如当用户尝试插入新的条形码或已经使用的新 ID 号时违反唯一性约束(用户必须能够选择 id)。

这不仅必须在 onFailure() 函数中 - 我正在寻找框架中的某个位置来执行此处理。

问题

  • 您如何识别和响应 GWT RequestFactory 中数据库或服务器抛出的不同错误类型?
4

2 回答 2

2

我们在@SSR 的答案中使用 Step1,即 JSR-303 Bean Validation,它工作得很好。另外我认为您可以在服务器端抛出异常并onFailure()在客户端捕获该异常,这也应该有效。

于 2013-04-18T06:17:45.660 回答
1

第 1 步 - DevGuideValidation

您应该在这里查看 GWT 验证支持及其示例https://developers.google.com/web-toolkit/doc/latest/DevGuideValidation

验证组可用于指定在客户端上运行什么约束以及在服务器上运行什么。

上述特性基于 Java 的 JSR-303 Bean Validation。

第 2 步 - DevGuideLogging

将 Valiation 功能与 GWT 的简单远程日志记录功能相结合,您就有了处理异常的有效干净方式 - https://developers.google.com/web-toolkit/doc/latest/DevGuideLogging

于 2013-04-18T03:41:33.447 回答