Ich benutze gwt-Plattform und versuchte, GWT-Editor-Framework zu implementieren. Aber ich kann es nicht aus dem Moderator heraus arbeiten. Es gibt einige Antworten rund um das Web, die sagen, dass ich die EditorDriver injizieren müssen irgendwie in den Moderator, aber ich weiß nicht, wie dies zu tun ...Wie benutzt man das GWT Editor Framework mit der gwt-Plattform?
Im Moment habe ich schon versucht, diese ohne Erfolg:
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);
}
...
}
es funktioniert, wenn ich explizit die ViewImplementation angeben, aber das ist nicht die Art und Weise MVP funktionieren soll:
interface Driver extends SimpleBeanEditorDriver<MyModel, MyViewImpl> {}
...
editorDriver.initialize((MyViewImpl) this.getView());
ich wäre schön, wenn mir jemand ein Beispiel geben könnte, wie es richtig zu machen.
Dank
Danke :) Vielleicht hast du recht und es ist nicht schlecht, wenn die Ansicht das Modell kennt, ' sonst müsste ich viele Setter und Getter im ViewInterface einstellen. Dies würde bedeuten, dass die Ansicht auch ihr Modell kennt (Art von) ... –
Dies ist eine großartige Lösung. Vielen Dank! – confile
Danke. Nach zwei Tagen des Kampfes mit Redakteuren und GWTP mache ich es endlich möglich. Wenn Sie diesbezüglich einige Verbesserungen vorgenommen haben, lassen Sie es mich wissen. – masterdany88