1

ある zul ページから別の zul ページにオブジェクトを渡そうとしています。どこ :

  1. どちらの zul ページにも独自の作曲家がいます。
  2. 1st zulのコンポーザーでオブジェクトの値を設定したいです。
  3. そして2nd zul's composerで入手したい。

executions.sendredirect() を試しましたが、オブジェクトの値をクリアし、 forward() は「代わりに sendRedirect を使用してユーザー要求を処理する」という例外をスローします。

4

1 に答える 1

1

あなたの問題はスコープです。

ZK では、他の Web アプリケーション フレームワークと同様に、さまざまなスコープ (webapp、デスクトップ、ページ、セッション、リクエストなど) にアクセスできます。2 つの異なる URL から提供される 2 つの異なるページがある場合、それらには異なるリクエスト スコープがあります。

あるリクエストから別のリクエストに移動する場合、リクエスト URL に関する情報を渡すことができます。

Executions.sendRedirect("page2.zul?myId=1234")

次に、ページ 2 のコンポーザで、次の値からこの値を取得できますExecution

Execution execution = Executions.getCurrent();
execution.getParameter("myId");

これは標準の HTTP クエリ文字列ビジネスであるため、ここではテキストと数字に限定されます。ただし、データベース ID などを渡す場合、これは非常に便利です。

より堅牢なソリューションは、ZK の他のスコープの一部を活用することです。たとえば、オブジェクトをユーザーのSessionスコープに入れることができます。実装の詳細については、メニュー付きの ZK セッション変数に対する私の回答を参照してください。Sessionを使用する場合、テキストに限定されなくなり、実際の を保存できることに注意してくださいObject

于 2013-11-13T10:46:14.427 に答える