在我的grails应用程序中,我需要从数据库中获取一些数据并在gsp页面中显示它。 我知道我需要从控制器获取数据,例如
List<Event> todayEvents = Event.findAllByStartTime(today)
获取所有日期日期的活动 现在,我如何在gsp页面中呈现它?我如何将该事件对象列表传递给gsp?
非常感谢
答案 0 :(得分:8)
您可以使用Grails脚手架学习许多基本概念。使用域创建一个新项目并发出命令generate-all com.sample.MyDomain
它将生成一个控制器和一个视图。
要回答您的问题,请在控制器中创建一个操作,如下所示:
class EventController {
//Helpful when controller actions are exposed as REST service.
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def showEvents() {
List<Event> todayEvents = Event.findAllByStartTime(today)
[eventsList:todayEvents]
}
}
在您的GSP上,您可以遍历列表并根据需要打印
<g:each in="${eventsList}" var="p">
<li>${p}</li>
</g:each>
祝你好运
答案 1 :(得分:1)
我不确定这是否真的是你的意思,因为在这种情况下我建议你阅读更多关于grails :),但无论如何,对于你的情况,你可以使用渲染,重定向但是我在这里采取最简单的方式:
在您的控制器中,您有:
def getAllElements(){
List<Event> todayEvents = Event.findAllByStartTime(today)
[todayEvents :todayEvents ]
}
然后在GSP中(我假设您了解grails约定,就好像您没有指定视图名称一样,它将默认渲染gsp页面,其名称与控制器中的函数相同,在views /中):
<g:each in="${todayEvents}" var="eventInstance">
${eventInstance.<propertyName>}
</g:each>
像这样的东西。