2013-02-13 49 views
0

我目前正在学习Grails/Groovy(我很新),并试图设置一个网站的电子商务类型。我希望用户看到的第一页是我们所有商品类别的列表。每个类别都有项目。如果我将这些类别硬编码到主页中,我可以点击每个链接(每个类别)并转到我的控制器并查询每个项目的具体类别。但我不知道如何查询启动类别,因为它似乎没有任何控制器运行我的index.gsp。在Groovy/Grails启动时运行查询

什么是最好的方式去查询我的类别在启动,然后可能每次我回到我的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> 

一旦我点击这些链接,我的控制工作正常,并在该类别中的项目正确列出。

感谢您的帮助。

回答

1

默认的index.gsp没有映射到控制器(正如你想象的那样)。在URLMappings.groovy中,您可以更改默认URL "/"以映射到您需要的任何控制器。该控制器可以查询数据库并显示类别(例如,您的默认控制器可能是CategoriesController)。

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

2

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

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