Grails 处理无选择的多选

Grails 处理无选择的多选,grails,Grails,我在应用程序上使用了grails生成所有。Author视图具有多选功能,允许使用多个Book实例: <g:select multiple="true" ... /> 这是一种方法,还是有更好的方法?我看到的大多数示例都使用: authorInstance.books.clear() 我也遇到了同样的问题,默认数据绑定不能清空多选列表,因为paramsmap不包含值为NULL的字段 要避免这种情况,您可以在.gsp中执行此操作: <g:hiddenField name="bo

我在应用程序上使用了
grails生成所有
Author
视图具有多选功能,允许使用多个
Book
实例:

<g:select multiple="true" ... />

这是一种方法,还是有更好的方法?

我看到的大多数示例都使用:

authorInstance.books.clear()

我也遇到了同样的问题,默认数据绑定不能清空多选列表,因为
params
map不包含值为
NULL
的字段

要避免这种情况,您可以在
.gsp
中执行此操作:

<g:hiddenField name="books" value="" />
<g:select multiple="true" name="books" />

发布此表单元素时,“多选”将覆盖隐藏字段。如果multi-select为空,您将退回到空字符串

不漂亮,但是当你不能改变控制器的动作时,你就可以完成任务了

<g:hiddenField name="books" value="" />
<g:select multiple="true" name="books" />