RPCManager RPCRequest如何捕获gwt中的响应

时间:2013-05-18 10:51:23

标签: gwt smartgwt

您需要捕获数据以进行验证。我能够使用RPCRequest和RPCManager通过使用setActionUrl到控制器类来获取数据。从那里创建服务类和dao类。我能够将数据提取到控制器类。但我无法将数据返回到我的grid.i希望将数据提取到变量中。我没有使用asynchronus service.i在网格中使用async方法我能够获取onSuccess()方法。但是没有使用我如何将数据提取到网格中。

问候 苏博德

2 个答案:

答案 0 :(得分:0)

我在项目中做了类似的事情,检索数据并将其从数据库发布到GWT。我的数据库设置是Microsoft SQL 2012和Hibernate框架来检索它。但是我创建了一个自定义的try / catch块和if / else块,以便在客户端进行验证。

我使用了从Hibernate到GWT的本教程来设置Web应用程序和数据库之间的事务,以便进行保存和检索。他们的源代码提供了网页模块,用于设置显示,我模仿以满足我的需求,因为我没有存储“记录”或“用户”。

GWT确实有验证设置,但我花了10个小时试图找出客户端验证并放弃了更简单的东西,例如try / catch对提交的数据,因为我不关心格式的数字。

谷歌“GWT验证”,你应该有一些关于它的文档,但它们没有太多可供选择,因为一切似乎都是谷歌文档的副本。

Link - Hibernate to GWT

希望这有助于您指出正确的方向。

答案 1 :(得分:0)

这是我们的ServiceImpl类中用于从DB

中检索数据的示例
    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("&nbsp;", "-"));
                    JSONValue value = JSONParser.parseLenient(html.getText());
                    JSONWrapper json = new JSONWrapper(value);
                    System.out.println(json.get(0).get("variableName").stringValue());
        }
    };