gpt4 book ai didi

grails - GSP/Groovy - g :each with array of objects

转载 作者:行者123 更新时间:2023-12-02 14:41:06 24 4
gpt4 key购买 nike

我正在尝试使用 g:each在 map 上标记,但 GSP 无法识别它。

代码是:

    if(previousQuestions == null)
{
previousQuestions = []
}
def obj = AnimaisTreeMap.get(curNode)

previousQuestions.push('question':obj.nodeDescription, 'answer': getDescOptionAnswer(optionAnswered))

g:each 标签是:
<g:each in="${previousQuestions}" var="row" status="i">
<div>
<label>${row.question}</label>
<label>${row.answer}</label>
</div>
<br/>
</g:each>

输出是:
[{question=vive na água, answer=Não}, {question=tem listras, answer=Sim}]

据我所知,g:each 读取的对象可能是 JSON 格式“property:value”,但我的对象是“property=value”

我该如何解决?

更新

看到后 this link ,我找到了解决方案。问题本身在于“前进”功能,我将“previousQuestions”传递给另一个 Action 。而不是“参数”,正确的方法是“模型”。
        forward(action:'index', model: [curNode: nextNode.id,
previousNode: curNode,
curQuestion: curQuestion,
previousQuestions: answersTrace])

当我需要恢复“previousQuestions”时,我必须在 Controller 中使用“request”注入(inject)对象。在此之后,我的代码没问题

1 : 这个链接

最佳答案

每次调用 push() 时,您似乎都在添加两张 map 。 .尝试创建要添加到 map 数组中的每个 map ,而不是仅传递单独的键值对。

我相信这就是你想要的:

previousQuestions.push(['question':obj.nodeDescription, 
'answer': getDescOptionAnswer(optionAnswered)])

关于grails - GSP/Groovy - g :each with array of objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399732/

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