Gwt 如何使用请求工厂保存/编辑对象和刷新数据网格
我从请求工厂的dynatableref示例开始。我看了申请工厂的文件。但我仍然不清楚客户机到服务器的生命周期或流程。 我想给服务器打个电话。插入数据并更新网格。使用RPC调用很容易。但我不明白如何处理请求工厂。 这是请求工厂的一种方法。它自动调用服务器的persist方法。它还会自动刷新网格。我能告诉谁它是如何工作的吗Gwt 如何使用请求工厂保存/编辑对象和刷新数据网格,gwt,requestfactory,Gwt,Requestfactory,我从请求工厂的dynatableref示例开始。我看了申请工厂的文件。但我仍然不清楚客户机到服务器的生命周期或流程。 我想给服务器打个电话。插入数据并更新网格。使用RPC调用很容易。但我不明白如何处理请求工厂。 这是请求工厂的一种方法。它自动调用服务器的persist方法。它还会自动刷新网格。我能告诉谁它是如何工作的吗 context.fire(new Receiver<Void>() { @Override public void onConstrai
context.fire(new Receiver<Void>() {
@Override
public void onConstraintViolation(Set<ConstraintViolation<?>> errors) {
// Otherwise, show ConstraintViolations in the UI
dialog.setText("Errors detected on the server");
editorDriver.setConstraintViolations(errors);
}
@Override
public void onSuccess(Void response) {
// If everything went as planned, just dismiss the dialog box
dialog.hide();
}
});
context.fire(新接收器(){
@凌驾
public void onConstraintViolation(设置RUEQUESTFORY
的流客户端服务器类似于RPC
或任何XMLHTTP
请求
1) 您可以在服务器上调用远程方法
2) 您在Receiver
对象(即回调
对象)中收到响应。在onsecess
方法中,如果一切顺利,您将得到返回的对象。onFailure
如果出现问题,您将得到错误
因此,要从服务器检索的数据填充Person表,代码应该如下所示
requestFactory.schoolCalendarRequest().getPersonList(param1).fire(new Receiver<List<PersonProxy>>() {
@Override
public void onSuccess(List<PersonProxy> personList) {
personTable.getDataProvider().setList(personList);
}
});
<> >与<代码> RequestFactory <代码>应放置在<代码>演示者< /代码>中,因此您可能应该考虑实现<代码> MVP模式。
requestFactory.schoolCalendarRequest().getPersonList(param1).fire(new Receiver<List<PersonProxy>>() {
@Override
public void onSuccess(List<PersonProxy> personList) {
personTable.getDataProvider().setList(personList);
}
});
column.setFieldUpdater(new FieldUpdater<Person, String>() {
@Override
public void update(PersonProxy personProxy, String value) {
RequestContext requestContext = requestFactory.schoolCalendarRequest()
PersonProxy personProxy= requestContext.edit(personProxy);
personProxy.setName(value);
requestFactory.schoolCalendarRequest().savePerson(personProxy).fire(new Receiver<PersonProxy>() {
@Override
public void onSuccess(PersonProxy person) {
//Do something after the update
}
});
}
});