我正在使用gwt平臺並試圖實現GWT的編輯器框架。但我從主持人那裏得不到它的工作。有各地的網絡一些答案,那說我必須以某種方式注入到EditorDriver演示,但我不知道如何做到這一點?如何使用GWT的編輯器框架與gwt平臺?
在這個我試過沒有成功的那一刻:
public class MyPresenter extends Presenter<MyPresenter.MyView, MyPresenter.MyProxy> implements MyUiHandlers {
public interface MyView extends View, HasUiHandlers<MyUiHandlers>, Editor<MyModel> {}
@ProxyStandard
@NameToken(NameTokens.myPage)
@NoGatekeeper
public interface MyProxy extends ProxyPlace<MyPresenter> {}
interface Driver extends SimpleBeanEditorDriver<MyModel, MyView> {}
private Driver editorDriver;
DispatchAsync dispatcher;
@Inject
public MyPresenter(EventBus eventBus, MyView view, MyProxy proxy, DispatchAsync dispatcher) {
super(eventBus, view, proxy);
getView().setUiHandlers(this);
this.dispatcher = dispatcher;
MyModel m = new MyModel();
m.setId(1L);
m.setUsername("username");
m.setPassword("password");
editorDriver = GWT.create(Driver.class);
editorDriver.initialize(this.getView());
editorDriver.edit(m);
}
...
}
它的工作原理,如果我明確地指定ViewImplementation,但是這不是MVP應該的工作方式:
interface Driver extends SimpleBeanEditorDriver<MyModel, MyViewImpl> {}
...
editorDriver.initialize((MyViewImpl) this.getView());
我會很高興,如果有人可以給我一個例子,如何做是正確的。
感謝
謝謝:)也許你說得對,如果視圖知道模型是不壞,「因爲我必須在ViewInterface中設置很多setter和getters。這意味着視圖也知道它的模型(種類)... –
這是一個很好的解決方案。謝謝! – confile
謝謝。經過2天的編輯和GWTP的努力,終於讓它成功了。如果您對此做了一些改進,請告訴我。 – masterdany88