我正在寻找GWT中使用MVP提交表单的一些最佳实践。
在我的应用程序中打开一个对话框,其中呈现简单的from。单击“确定”按钮时,将读取元素值并将其分配给值对象。然后将此对象添加到新位置。
查看:
onOkButtonClicked(event){
// read values from dialog box elements
// assign the values to ValueObject(name, number, address)
presenter.goto(new ListRecordPlace("list","addrecord", valueObject);
}
的活动:
ListRecordActivity(ListRecordPlace place, eventBus){
this.place = place;
}
start(...){
if(this.place.getAction().equals("addrecord")){
// RPC call to add the new record: this.place.getNewRecord();
// RPC returns list of records
view.setRecordList();
container.setWidget(view.asWidget());
}
}
这是通过MVP活动和地点向服务器提交数据的正确方法吗?
答案 0 :(得分:0)
Place
不是操作,它(顾名思义)是位置。
所以不,这是绝对错误的做事方式。您应该执行RPC以响应单击“确定”按钮,然后然后才会转到可以看到记录的ListRecordPlace
。
答案 1 :(得分:0)
当您使用MVP
时,RPC
服务的调用应在演示者中完成。
确定点击视图 - > view :call presenter(presenter.okClicked()) - > 演示者:更新值并调用RPC
服务以保存 - > 演示者:成功保存后,转到其他地方。
当您转到下一个地方时,不应使用Place对象传输数据。 负责处理新场所的对象应该负责数据更新和显示。