在Groovy / Grails启动时运行查询

时间:2013-02-13 03:40:54

标签: grails gsp

我目前正在学习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>

点击这些链接后,我的控制器工作正常,并且正确列出了该类别的项目。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

虽然UrlMappings.groovy配置更改应该是首选解决方案,但如果您不想这样做,那么您也可以在index.gsp中发出重定向。所以您的索引文件将如下所示:

<% response.sendRedirect("${request.contextPath}/category/index") %>

答案 1 :(得分:1)

默认的index.gsp不会映射到控制器(如您所知)。在URLMappings.groovy中,您可以更改默认网址"/"以映射到您想要的任何控制器。该控制器可以查询数据库并显示类别(例如,您的默认控制器可能是CategoriesController。)

网址映射的文档为http://grails.org/doc/2.2.x/ref/Plug-ins/URL%20mappings.html