0

我是 grails 的新手,我有点卡住了;我有一个看起来像这样的控制器:

class MusicController {
...
    def index = { redirect(action:list,params:params) }
    def list = {
        [songView: getSongView(), enableStateProvider: true, setLayout: true]
    }
...
}

现在在同一个列表中,我想添加另一个对象,所以它变成这样:

def list = {
    [songView: getSongView(), enableStateProvider: true, setLayout: true]
    [genreView: getGenreView(), enableStateProvider: true, setLayout: true]
}

在视图类(list.gsp)中,如何分隔/调用每个对象的参数?

4

2 回答 2

1

如果您想在同一个列表中添加另一个对象,只需添加它:

[songView: getSongView(), genreView: getGenreView(), enableStateProvider: true, setLayout: true]
于 2013-05-20T15:37:38.157 回答
0

如果您正在寻找提到的@James Kleeh,那么您应该使用它。(考虑到流派总是与歌曲相关联)

如果你想处理你的场景,那么你必须使用list.maps

def list = {
    [
       [songView: getSongView(), enableStateProvider: true, setLayout: true],
       [genreView: getGenreView(), enableStateProvider: true, setLayout: true]
    ]
}

如果我是 grails 的新手并且对使用 groovy 集合持怀疑态度,我会从使用数据对象开始处理这种情况。例如:

    def songModel = new MyModelData(view: getSongView(), enableStateProvider: true, setLayout: true)
    def genreModel = new MyModelData(view: getSongView(), enableStateProvider: true, setLayout: true)

    def list = {
       [songModel, genreModel]
    }
于 2013-05-20T14:42:44.710 回答