从控制器传递地图

时间:2013-04-29 16:35:59

标签: grails map groovy

我正在尝试传递一个地图,该地图是根据已点击的特定值创建的,并将其发送到我的视图页面,以便它将使用我所做的选择中的特定日期填充我的表格。但无论我做什么,它都不会将我的地图传递给控制器​​。我发送一个查询来检索我的控制器的值,然后将其放入地图,然后通过[finalMap: finalMap]将其发送到我的视图页面,但它不允许我在我的视图页面中调用它。

这是我的控制器中处理查询结果并将它们放入地图的函数:

    def testFunction = {

    def days = Utility.executeQuery("select date from Utility where week_id = ${params.utility.week_id}")

    def testMap = days
    def map = testMap.collect{[it, it]}
    def finalMap = map.listIterator().reverse().collectEntries()

    [finalMap: finalMap]
    }

即使我在地图中有它,也无法从我的视图页面调用它,如下所示:

    <table id="mondayTimeSelection" border width = 450 height=200>
        <thead>
            <tr>
                <g:each in="${finalMap}" var="e"><th style="text-align: center; width: 115px;">${e.key}</th></g:each>
            </tr>
        </thead>
    </table>

如何从控制器中的功能成功将此地图传递给控制器​​?或者我还有另一种方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您已经验证它确实显示在控制器中? 当我将地图强制到finalMap时 - 该页面适合我。 即:

   def testFunction = {

    def finalMap = ["test": "test", "test2":"Test2"]

    [finalMap: finalMap]
    }