访问控制器中的参数列表

时间:2011-06-24 08:04:08

标签: grails groovy parameters checkbox request

我非常擅长grails(1.3.7)所以请耐心等待: - )

我有一个gsp,我有各种复选框。用户可以单击它们,然后将其答案发送给控制器。控制器正在正确接收此请求。

我的问题是,为了处理用户选择的内容,我必须检查每个参数 - 看看是否真的选中了这个复选框。这真的很麻烦,并且不能很好地工作,因为显示复选框的页面是动态的 - 所以可以点击的复选框也是动态的。在我的控制器中,我不知道我必须检查哪些参数。

是否有可能在我的控制器中收到所有复选框(或更好:所有选中的复选框)的列表?我研究过但没有找到答案!

感谢您的回答! :-)

[编辑]

谢谢,

params.name.each{i->
            System.out.println(i);
}

非常简单并且有效:-)它只是返回已检查的

1 个答案:

答案 0 :(得分:11)

它必须作为额外的请求参数传递(这是http的限制)。您可以在表单中添加以下字段,例如:

<input type="hidden" name="checkboxes" value="${myCheckboxesNames.join(',')}"/>

或使用JavaScript进行相同操作,因为它在客户端名称是动态的。

顺便说一句,您也可以通过

检查所有请求参数
params.each { name, value ->
// so something
}

因此,如果您为此复选框名称使用了一些特殊的前缀/后缀,那么它将是:

params.entrySet().findAll {
   it.key.startsWith(prefix)
}.each {
   println "Checkbox $it.key = $it.value"
}
相关问题