虽然 GWT 带有一个JsonpRequestBuilder来通过脚本标签执行请求和AutoBeans来处理 json 响应并生成 java 实现,但我更喜欢gwtquery Ajax和DataBinding因为它的简单性。
在您的情况下,您可以拥有与您的提供者提供给您的几乎相同的语法:
ajax("http://server_name?id=and_id&callback=?",
$$("type:'get', dataType: 'jsonp'),
new Function() {
public void f() {
Properties jso = getDataProperties();
String status = jso.get("error");
}
});
如果您喜欢使用构建器,因为您喜欢 get/setters,您的代码可能如下所示:
public static interface MResponse extends JsonBuilder {
String getId();
String getStatus();
String getProd_name();
double getPrice();
}
ajax(Ajax.createSettings()
.setType("get")
.setDataType("jsonp")
.setUrl(""))
.done(new Function() {
public void f() {
MResponse resp = GWT.<MResponse>create(MResponse.class)
.load(getDataProperties());
String status = resp.getStatus();
}
});