2011-05-11 14 views
1

私はgrailsに新しいです、そして、私は別の問題で立ち往生しました。コントローラのどのアクションからGSPを呼び出すのか?

私は2つのフォームの私の単一GSP search.gsp内を持っており、私のコントローラserachに2つのアクションを持っているとを結果。

私のGSPファイルの検索ボタンをクリックすると、検索アクションになります。今回はsearch.gsp.Atをレンダリングして、その中に最初のフォームしか表示しません。そのフォームの結果ボタンをクリックすると、の結果アクションにコードラインがあります。

リダイレクト(アクション:「検索」、のparams:[商人:商人、アドレス:アドレス])

これは、アクションを検索するために戻って私を取るだろうが、今、私は、検索で2番目のフォームを表示したいです.gsp ..

私の問題は、どのように私は、パラメータの一回アウトパラメータのを実行し、ために一度、検索アクションを行うことができます

  • のですか?
  • どのアクションからGSPを呼び出すかを決定する方法は?

アドバンスありがとうございます。

答えて

2

フォームの違いによっては、2つの別々のGSPファイル(search.gspやresults.gspなど)があると考えてください。 render(view:'action', model:[...])を使用して、コントローラ内の別のビューをレンダリングします。これは、多くの条件付きの単一ファイルであることがしばしば分かります。例えば

そうでない場合、あなたは${params.action}を使用してアクションを見つけることができますので、:

<g:if test="${params.action == 'search'}"> 
    Text to show if the action is search 
</g:if><g:else> 
    Text to show if the action is results 
</g:else> 
+0

Danありがとうございました。私はあなたの答えで両方の問題を解決しました。 – Nandita

0

私はテンプレート(_search.gsp)としてあなたの結果ページを分離するためにあなたを提案し、あなたの結果のアクションからそれをレンダリングします。そういうわけで、さまざまなファイルに異なる形式を持つことになります。

ところで、テンプレートはAjaxレスポンスだけですが、grailsのテンプレートについて詳しくはGoogleにお問い合わせください。

+0

ありがとう。そうですね。 – Nandita

+0

thanks.can uは、私が今日投稿したUrlmappingに関する私の質問に答えます。 – Nandita

関連する問題