Vic*_*tin 4 grails controllers params
我的控制器如下:
def participated = {
def temp = ConferenceUser.get(params.temp)
def prizes = Prizes.findAllByConferenceUser(temp) // find all rooms where current computer is
def subms = Submissions.findAllByConferenceUser(temp) // find all rooms where current computer is
[temp: temp, priz: prizes, subm: subms]
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,当我成功更新会议价值时,我想回到初始页面(参与),但我不知道如何传回params.temp
.(如果我做一个简单的重定向,正如控制器所期望的那样params.temp
,它会给我一个错误,因为我无法使用null对象作为参数搜索奖品.所以,想象一下我的更新控制器如下:
def update = {
def saveParamshere = params.temp
...
...
(code here)
...
...
redirect(action: "participated", params: [temp: saveParamshere])
}
Run Code Online (Sandbox Code Playgroud)
此代码无效.如何成功返回主页并传入params.temp
?
我认为问题可能是,你update
通过提交表格来调用行动(我想).也许你没有temp
从那个形式传递价值?您可以通过将temp
隐藏的输入字段嵌入到表单中,或者通过param
表单标记上的属性将其应用于url来实现.
使用隐藏字段可能是这样的(在您的视图文件中):
<g:form controller="somecontroller" action="update">
(...)
<g:hiddenField name="temp" value="${temp}" />
(...)
</g:form>
Run Code Online (Sandbox Code Playgroud)
使用params
属性:
<g:form controller="somecontroller" action="update" params="[temp : temp]">
(...)
</g:form>
Run Code Online (Sandbox Code Playgroud)
我没有测试任何这些因此可能存在一些问题,特别是在第二种方法中.
归档时间: |
|
查看次数: |
29319 次 |
最近记录: |