我是Grails的新手,正在尝试使用它构建CMS。 我希望导航菜单从数据库中读取,以便新页面自动获取导航中的链接。我一直在阅读Grails: use controller from index.gsp及相关问题,但答案对我来说似乎并不适用。 :(
我创建了一个名为Navigation的域类和一个名为_header的模板。
在“导航/列表”命名空间中,一切正常,但在外面我无法访问导航数据。
我已经像这样设置了网址映射:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(controller : "Navigation", action : "list")
"/"(view:"/index")
"500"(view:'/error')
}
}
但这似乎不起作用。关于可能出现什么问题的任何线索?
答案 0 :(得分:1)
你有两个“/”映射,你的新映射和原始映射:“/”(view:“/ index”) - 对于初学者你需要删除另一个映射。
答案 1 :(得分:0)
不确定您是否知道这一点,但有一个名为Weceem的Grails构建的开源CMS。如果您需要将其用作另一个Grails应用程序的一部分,还有一个grails plug in for Weceem,因此您可以将其用作应用程序的一部分。
在构建完整的新CMS之前,可能值得研究: - )
答案 2 :(得分:0)
我看错了所有问题,urlmapping只使index.gsp重定向到导航/列表。我在寻找的是
DomainClass.findAll( String query )
在g:每个标签中使用的属性
<g:each in="${Navigation.findAll('from Navigation as n where n.css=?', ['ctBoven'])}" var="oNavigation" status="i">
这允许我从任何页面读取任何数据库。