ui:バインダーコンポーネント内のオブジェクトにアクセスしようとしていますが、eventBus、requestFactoryなどにアクセスする方法がわかりません。私は夜も目を覚ましておいてください(また、私はJAVAを完全に新しくしている、バックグラウンドはPerl/Python/PHPです)。ui:binderによって作成されたウィジェットにGINインジェクションを適用したSpring ROO GWT
マイui.xmlファイル:この方法は com.ig.client.scaffold.ui.widget.Rで失敗eventBusを注入
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:ig='urn:import:com.ig.client.scaffold.ui.widget'>
<ui:style>
...
</ui:style>
<g:HorizontalPanel>
...
</g:HorizontalPanel>
</ui:UiBinder>
にはデフォルト(ゼロ引数)コンストラクタを持っていません。
public class R extends Composite {
interface MyUiBinder extends UiBinder<Widget, R> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private final EventBus eventBus;
@UiField SimplePanel fieldA, ...;
@Inject
public R(EventBus eventBus){
this.eventBus = eventBus;
initWidget(uiBinder.createAndBindUi(this));
}
}
ので、エラーメッセージのとおり、私は示すUIFactoryを作成してから、私はエラー を取得... '{style.entityComponent}'>必要な属性(複数可)行方不明:eventBus要素...(日の過去のカップルのための読書や読書、より読みから
public class R extends Composite {
interface MyUiBinder extends UiBinder<Widget, R> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
private final EventBus eventBus;
@UiField SimplePanel fieldA, ...;
public @UiConstructor R(EventBus eventBus){
this.eventBus = eventBus;
initWidget(uiBinder.createAndBindUi(this));
}
@Inject
@UiFactory R makeR(){
return new R(eventBus);
}
}
バインダースタイルシート、私はeventBus、requestFactoryとhistoryControllerにアクセスする人を見ていない:UIでeventBusを見つけようとしているように思えますui:バインダーウィジェットへのバインディングのビューに直接入りました。結局のところ、ベストプラクティスではないと結論しました。 aとにかく
私はオブジェクトを持っているとしましょう、それをプロキシと呼ぶことにしましょう、プロキシにはhandleButtonClickが含まれていて、次にeventBus.doSomething()を呼び出します。このProxyオブジェクトを、インスタンス化することなく、またはすべてのウィジェットに渡すことなく、ui:binderウィジェットにリンクするにはどうすればよいですか?
インターフェイスでGIN注入を行い、クラスRを介してそのインターフェイスを実装することは可能ですか?それで何とか私が探しているオブジェクトが含まれていますか?
ROOによって作成された残りのサービスとフロントエンドを基本的に接続できるようにするサンプル(Java n00bが理解できる)を探していれば、歓迎です。
おかげ J
おかげでジェイソンは、私は今朝Google CodeののMVPのドキュメントを通して読んでいたし、私が探していたまさにように見えた、今夜遅くに実装します。 ありがとう百万:-) –
こんにちはジェイソン、私はあなたの例を働かせていません、私のためのソースをご利用いただけますか、または私のコードを見て問題を指摘してもらえますか?今数週間苦労しています。 –
あなたが持っている問題に固有の新しい質問をして、ここのコメントからリンクして見せてみませんか? –