0

私は現在Grails/Groovy(私は非常に新しい)を学び、eコマースタイプのサイトをセットアップしようとしています。ユーザーに表示される最初のページを、すべての商品カテゴリのリストにしたいと思います。すべてのカテゴリにアイテムがあります。カテゴリをホームページにハードコーディングすると、各リンク(各カテゴリ)をクリックしてコントローラに移動し、各アイテムにその特定のカテゴリを問い合わせることができます。しかし、私のindex.gspに対してコントローラーが実行されていないように見えるため、起動時にカテゴリを照会する方法がわかりません。

起動時にカテゴリをクエリし、おそらくindex.gspページに戻るたびにクエリを実行するための最良の方法は何ですか?以下は、カテゴリをハードコーディングするために使用したコードです。

<li><g:link id="2" controller="category" action="show">Category 1</g:link></li>
<li><g:link id="3" controller="category" action="show">Category 2</g:link></li>

これらのリンクをクリックすると、コントローラーは正常に動作し、そのカテゴリーのアイテムが正しくリストされます。

助けてくれてありがとう。

4

2 に答える 2

2

UrlMappings.groovy 構成の変更が推奨される解決策ですが、それをしたくない場合は、index.gsp でリダイレクトを発行することもできます。したがって、インデックス ファイルは次のようになります。

<% response.sendRedirect("${request.contextPath}/category/index") %>
于 2013-02-13T06:41:40.133 に答える
1

デフォルトの index.gsp はコントローラーにマップされません (ご存じのとおり)。ではURLMappings.groovy、既定の URL"/"を変更して、任意のコントローラにマップできます。そのコントローラーは、データベースにクエリを実行してカテゴリを表示できます (したがって、デフォルトのコントローラーはCategoriesControllerたとえばのようになります)。

URL マッピングのドキュメントはhttp://grails.org/doc/2.2.x/ref/Plug-ins/URL%20mappings.htmlです。

于 2013-02-13T03:44:15.593 に答える