0

我目前正在学习 Grails/Groovy(我是新手)并尝试建立一个电子商务类型的网站。我希望用户看到的第一页是我们所有商品类别的列表。每个类别都有项目。如果我将类别硬编码到主页中,我可以单击每个链接(每个类别)并转到我的控制器并查询该特定类别的每个项目。但我不知道如何在启动时查询类别,因为似乎没有任何控制器为我的 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 回答