0

我是 Grails 的新手,正在尝试用它构建一个 CMS。我希望导航菜单从数据库中读取,因此新页面将自动在导航中获取链接。我一直在阅读Grails: use controller from index.gsp和相关问题,但答案似乎对我不起作用。:(

我创建了一个名为 Navigation 的域类和一个名为 _header 的模板。

在“导航/列表”命名空间中,一切正常,但在外部我无法访问导航数据。

我已经像这样设置了 url 映射:

class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }
        "/"(controller : "Navigation", action : "list")
        "/"(view:"/index")
        "500"(view:'/error')
    }
}

但这似乎不起作用。关于可能是什么问题的任何线索?

4

3 回答 3

1

您有两个“/”映射,新映射和原始映射:“/”(view:"/index") - 对于初学者,您需要删除另一个。

于 2011-01-20T17:44:12.857 回答
0

不确定您是否知道这一点,但 Grails 中内置了一个名为Weceem的开源 CMS 。如果您需要将它用作另一个 Grails 应用程序的一部分,Weceem 也有一个grails 插件,因此您可以将它用作您的应用程序的一部分。

在构建一个全新的 CMS 之前可能值得研究一下 :-)

于 2011-01-20T19:20:18.487 回答
0

我一直在看问题,urlmapping 只使 index.gsp 重定向到导航/列表。我一直在寻找的是

DomainClass.findAll( String query )

在 g:each 标签中使用的属性

<g:each in="${Navigation.findAll('from Navigation as n where n.css=?', ['ctBoven'])}" var="oNavigation" status="i">

这允许我从任何页面读取任何数据库。

于 2011-01-20T23:10:45.223 回答