gpt4 book ai didi

grails - 如何在 Grails View 中渲染 map

转载 作者:行者123 更新时间:2023-12-02 06:21:31 25 4
gpt4 key购买 nike

假设我有一个这样的 map (从 Controller 返回)

    a= [a:[1,2,3,4],b:[5,6,7,8],c:[9,10]]
[a] //returning [a] from controller to the view

现在在 Grails View 中,我应该如何渲染它们以便它们在我的浏览器中看起来像这样:

a
-- 1
-- 2
-- 3
-- 4

b
-- 5
-- 6
-- 7
-- 8
//so on..

编辑:

我在显示详细信息的特定情况下做了类似的事情(提示来自 Antoine 给出的答案):

<html>
<head>
<title>
All Tasks.
</title>
<meta name ="layout" content="main" />
</head>
<body>
<h2>All the task</h2>
<g:each in="${tasksByDate}" var ="tasks">
<h4>${tasks.key}</h4>
<g:each in="${tasksByDate.value}" var="content" >
<div id = "todayswork">
${content}
</div>
<hr/>
</g:each>
<br />
</g:each>
</body>
</html>

但是当我在浏览器中呈现它时,我在浏览器中只得到了标题。像这样:

All the task
//other contents missing. . .

而且我确定值从 Controller alltasks 传递到 View ,名称为 tasksByDate。当它像这样在我的控制台上打印时:

[2011-12-19 14:21:35.949:[Belongs to Schedule Finish task A], 2011-12-21 14:21:35.897:[Belongs to Schedule Finish task A], 2011-12-23 14:21:35.907:[Belongs to Schedule Finish task A], 2011-12-19 14:21:36.051:[Belongs to Schedule Finish task A], 2011-12-17 14:21:36.048:[Belongs to Schedule Finish task A]]

这是我的 Controller 代码:

def alltasks = {
def allTasks = DaySchedule.findAllByTaskIsNotNull()
def tasksByDate = [:]
tasksByDate.putAll(
allTasks.groupBy {
it.Todaysdate
}
)
println tasksByDate
[tasksByDate]
}

我哪里出错了?

提前致谢。

最佳答案

您可以使用 g:each 遍历 map 元素. map 元素的 key 方法将返回键(在您的示例中为 a、b、c)和 value方法将返回关联值(在您的例子中,是一个整数列表)。反过来你可以使用 g:each在此列表中。

这是我在 GSP 中会做的事情:

<ul>
<g:each var="mapElement" in="${a}">
<li>$mapElement.key
<ul>
<g:each in="${mapElement.value}" var="number">
<li>$number</li>
</g:each>
</ul>
</li>
</g:each>
</ul>

根据您的格式,我推断您希望将 map 显示为列表列表,因此嵌套 <ul>元素。

关于grails - 如何在 Grails View 中渲染 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com