gpt4 book ai didi

grails - Grails链接ID未发送回服务器

转载 作者:行者123 更新时间:2023-12-02 15:00:29 25 4
gpt4 key购买 nike

我有一个如下所示的GSP:

class MyController {
def start() {
Widget widgetr = getSomehow()
render(
view: "test",
model: widget
)
}

def doSomething() {
long fizzId = params.fizzId as Long
// do something with 'fizzId'...
}
}

在GSP中,我有一个 g:link:
<g:link action="doSomething" id="${widget.fizzId}">Click me to do something!</g:link>

当用户单击该链接时,我希望执行 MyController#doSomething操作,并且希望将其作为参数发送给该操作的 widget.fizzId( Long)(例如 params.fizzId)。

当我运行它时,我得到一个 NullPointerExceptionparams.fizzId转换为Long,因为它为null。

我该怎么做才能使这项工作?根据 docs,我认为这就是 id属性的用途,但似乎我使用的方式不正确。有想法吗?

最佳答案

首先,您需要将从 Controller 返回的模型设为Map实例,例如

def start() {
Widget widgetr = getSomehow()
render(
view: "test",
model: [widget: widgetr]
)
}

link标记中,您需要设置 params属性而不是 id属性,因为要发送的参数未命名为 id
<g:link action="doSomething" params="${[fizzId: widget.fizzId]}">
Click me to do something!
</g:link>

关于grails - Grails链接ID未发送回服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194222/

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