【问题标题】:Setting GWT celltable data from presenter从演示者设置 GWT celltable 数据
【发布时间】:2013-03-28 07:51:25
【问题描述】:

我是 GWT 的新手。我想知道,是否可以从 GWT Presenter 设置单元格表格内容?从视图本身设置单元格表数据并仍然遵循 MVP 模式是否可以?

【问题讨论】:

    标签: gwt celltable


    【解决方案1】:

    不要将 GWT 演示者和它的模式混淆。如您所知,GWT Presenter 是 View 和 Model 之间通信的合同。最好在 Presenter 中编写服务器 dispatch 代码和 事件总线 代码,并在 View 本身中为 GWT 小部件设置数据。

    使用dispatch.execute 方法从模型获取单元格表数据到演示者之后。在onSuccess 方法中,调用在celltable 中设置数据的方法。

    • 定义一种在视图界面中设置单元格表数据的方法

        public interface MyView  extends View
          {
           void setCellTableData(List<Data> dataList);
          }
      

      它将在视图类中实现,在那里编写一个设置celltable数据的代码。

    • 在presenter中,onSuccess方法设置数据如

      dispatch.execute(new GetDataAction(),
          new AsyncCallback<GetDataActionResult>() {
              @Override
              public void onFailure(Throwable caught) {
      
              }
              @Override
              public void onSuccess(List<Data> result) {
                   getView().setCellTableData(result);
              }   
              };
          });
      

    【讨论】:

    • 我正在使用 AsyncDataProvider 将数据设置为单元格表,在这种情况下如何设置列表?我也在使用 RequestBuilder 从服务器获取数据。
    • 在视图中写入 AsyncDataProvider setdata 方法。并从演示者传递该方法中的数据列表。
    • 感谢您的快速回复。
    • 我已经设置了数据提供者,但是单元格表没有显示从服务器获取的数据。我正在使用 RequestBuilder 从服务器获取数据。在presenter中设置dataprovider的时候,request回调没有完成。我该如何解决这个问题?。
    • 请求回调完成后设置数据提供者。添加代码你试过什么?
    【解决方案2】:

    View 仅用于呈现 UI。

    它不应保持specific domain object 的状态。

    所有view 渲染业务逻辑都应该是Presenter 层的一部分。

    Better practices of MVP..

    Use and Maintaining Different layers in MVP.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-26
      • 2016-03-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多