grails:在gsp中显示数据库中的元素列表

时间:2013-07-02 13:30:37

标签: database list grails gsp

在我的grails应用程序中,我需要从数据库中获取一些数据并在gsp页面中显示它。 我知道我需要从控制器获取数据,例如

List<Event> todayEvents = Event.findAllByStartTime(today)

获取所有日期日期的活动 现在,我如何在gsp页面中呈现它?我如何将该事件对象列表传递给gsp?

非常感谢

2 个答案:

答案 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>
像这样的东西。