2

私のコントローラーの1つのアクションは、2つの別々のビューを同時に生成(リダイレクト/レンダリング)し、両方のページをクライアントに表示する必要があります。ユーザーが自分の情報を送信すると、ページはリスト付きの新しいページにリダイレクトされるようになります。同時に、いくつかの追加情報を含む新しいウィンドウに別のページをポップアップする必要があります(ユーザーはこのページを印刷します)。1つのページで問題を解決できることはわかっていますが、1つのコントローラーアクションから2つの別々のページ/ウィンドウを同時に生成する方法があるかどうか疑問に思いました。

期待してくれてありがとう

4

3 に答える 3

3

簡単な答えはNOです。Grails は魔法のようなことは何もしていません。通常の HTTP 要求/応答のライフサイクルに制限されています。1 つの要求に対して 1 つの応答が返されます。あなたが求めているのは、grails が 1 つの HTTP リクエストに対して 2 つのレスポンスを生成できるようにすることですが、これは不可能です。応答は、ブラウザがレンダリングするページか、ブラウザが別の URL に移動するためのリダイレクト メッセージです。

于 2012-07-01T15:29:58.623 に答える
2

通常のリクエストとajaxリクエストを処理できるアクションを記述できます。こちらのドキュメントを参照してください: Ajaxリクエストと非Ajaxリクエストの両方への応答

次に、「通常の」ビューを生成できます。その後、クライアント側でajaxを使用して同じアクションを呼び出し、ポップアップページのデータをロードします。

于 2012-07-01T08:13:49.817 に答える
0

<script>window.open()</script>ポップアップを開くためにメインビューでa を使用しないのはなぜですか?

于 2012-07-01T15:15:33.297 に答える