嗨,我需要捕获数据以进行验证。我可以使用 RPCRequest 和 RPCManager 获取数据,方法是使用 setActionUrl 到控制器类。从那里创建服务类和 dao 类。我能够将数据获取到控制器类中。但是我无法将数据取回我的网格。我希望将数据提取到变量中。我没有使用异步服务。我在网格中使用了异步方法,我能够获取到 onSuccess() 方法。但是不使用如何将数据获取到网格中。
关于 subodh
我在一个项目中做了类似的事情,检索数据并将其从数据库发布到 GWT。我的数据库设置是 Microsoft SQL 2012 和 Hibernate 框架来检索它。但是,我创建了一个自定义 try/catch 块和 if/else 块以在客户端进行验证。
我使用这个从 Hibernate 到 GWT 的教程来设置 Web 应用程序和数据库之间的事务,以便保存和检索。他们的源代码提供了网页模块,用于设置我模仿的显示以满足我的需要,因为我没有存储“记录”或“用户”。
GWT 确实有一个验证设置,但我花了 10 个小时试图弄清楚客户端验证,并放弃了一些更简单的东西,例如对提交的数据进行 try/catch,因为我不关心数字的格式。
谷歌“GWT Validation”,你应该有一些关于它的文档,但它们的选择并不多,因为一切似乎都是谷歌文档的副本。
希望这对您有所帮助或为您指明正确的方向。
这里是我们的 ServiceImpl 类中的示例,用于从数据库中检索数据
public final String getDatas(final HashMap<String, String> param) {
List<ShippingBean> result = null;
JSONObject obj = new JSONObject();
try {
// retrieve data from DB
data = dao.selectAll();
}
catch (BusinessException e) {
throw new InvocationException("BusinessException occurs ...", e);
}
obj = JSONObject.fromObject(result);
return obj.toString();
}
我们使用net.sf.json将其序列化为 DOM,并将其作为 AsyncCallBack 方法返回给演示者调用。然后,像这样检索数据..
AsyncCallback<String> callback = new AsyncCallback<String>() {
public void onFailure(final Throwable caught) {
Window.alert("Error!");
}
public void onSuccess(final String result) {
HTML html = new HTML(result.replace(" ", "-"));
JSONValue value = JSONParser.parseLenient(html.getText());
JSONWrapper json = new JSONWrapper(value);
System.out.println(json.get(0).get("variableName").stringValue());
}
};