Java + Tapestry 5アプリケーションには、フォームとグリッドの2つのコンポーネントが含まれています。フォームフィールドは、グリッドに表示される結果をフィルタリングするために使用します。フォームは、それがマップされているオブジェクトAの値を設定する単なるテキストフィールドです。グリッドはオブジェクトAから作成されます。フォームコンポーネントからグリッドコンポーネントに適切なインスタンスを送信する必要があります。これを行う最善の方法は何ですか?私はそれを上のページにオブジェクトを設定することで普通の古いJavaの方法で行うことができますが、よりクリーンな方法が必要です。私は環境の注釈について考えていましたが、それほど重すぎないのですか?Tapestry 5 - 2つのコンポーネント間の通信
2
A
答えて
3
タペストリーのパラメータは、双方向に働く:あなたは(@Persist
付き)あなたのページクラスにデータを保存し、パラメータとしてフォームのコンポーネントに渡した場合は、フォームのコンポーネントでその値を変更することができ、その自動的にあなたのページに反映されます:セッターへの呼び出しは必要ありません。
あなたはこのようにレイアウトされたページやフォーム部品持っているのであれば:
public class MyPage {
@Component(parameters = "dataHolder=dataHolder")
private MyForm formComponent;
@Component(parameters = "dataHolder=dataHolder")
private MyGrid gridComponent;
@Persist
@Property
private MyDataHolder dataHolder;
}
public class MyFormComponent {
@Parameter
private MyDataHolder dataHolder;
@OnEvent(EventConstants.SUCCESS)
void formSubmitted() {
this.dataHolder = new DataHolder(...);
}
}
を...そして、適切な値は、常にページ内に存在するため、また、グリッド・コンポーネントになります。
Component Parameters page in the Tapestry docsも参照してください。特に、「パラメータは双方向です」を参照してください。
関連する問題
- 1. Angular2の2つのコンポーネント間の通信
- 2. 2つのコンポーネント間のAngular2通信
- 3. Tapestry 5 BeanEditFormコンポーネントの問題
- 4. 角型2コンポーネント間通信
- 5. 2つの独立したコンポーネント間の通信angularJS 2
- 6. コンポーネントとインジェラブル間の通信2
- 7. 通信間2つのスレッド
- 8. 2つのカプセル化されたコンポーネント間の通信
- 9. Maquetteのコンポーネント間の通信
- 10. Elmのコンポーネント間の通信
- 11. Emberのコンポーネント間の通信
- 12. Angular2コンポーネント間通信
- 13. Reactコンポーネント間の通信
- 14. React-native:コンポーネント間の通信
- 15. typescript、コンポーネント間の通信
- 16. Vue 2 - コンポーネント間の通信(データの送受信)
- 17. 共有サービスによる2つのコンポーネント間の角度2/4通信
- 18. Pythonの2つのプログラム間の通信
- 19. Dockerの2つのフラスコサービス間の通信
- 20. Node.jsの2つのプロジェクト間の通信
- 21. 2つのサブネットマスク間の通信
- 22. 2つのワークフロー間でのデュプレックス通信
- 23. 2つのプロセス間の通信方法
- 24. 2つのフレックスアプリ間の通信
- 25. 2つのスレッド間の通信
- 26. 2つのアプリケーション間の通信方法
- 27. Android - 2つのデバイス間の通信
- 28. Android - 2つのアプリケーション間の通信?
- 29. 2つのノード間の通信
- 30. 2つのウィンドウ間の通信Qt5
フォームコンポーネントがdataHolderインスタンスを環境に送信し、グリッドコンポーネントが環境のインスタンスを使用する場合はどうなりますか?その解決策に問題はありますか? Tapestry User Guideはそれを示唆していますhttp://tapestry.apache.org/environmental-services.html –
@Ondrej:それは実行可能ですが、通常のパラメータがうまく機能する場合に使用するのはむしろ奇妙に思えます。 – Henning