从grails中的表单中获取集合

时间:2013-02-08 19:03:04

标签: forms grails checkbox gsp

我有一个相册视图,用户可以在其中查看要删除的照片。我目前正在这样做:

<g:form action="delete">
    <g:each in="${pictures}">

        <div id="images2">
            <img id="images2" src="${it.urlThumb}" alt="no Picture"/><br>
            <g:checkBox name="myCheckbox"/>
        </div>

    </g:each>
    <g:submitButton name="Submit"/>
</g:form>

问题是这会动态创建表单,因此复选框的每个名称都相同。理想情况下,我希望将一个集合返回给具有每个已检查图像的控制器。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

<g:checkBox>中,您需要指定一个值。将使用相同的名称创建每个复选框,但使用不同的值。提交表单并选中不同的复选框后,您将在控制器中获得一个列表。

查看:

<g:each in="${pictures}">
    <div id="images2">
        <img id="images2" src="${it.urlThumb}" alt="no Picture"/><br>
        <g:checkBox name="myCheckbox" value="it.id"/>
    </div>
</g:each>

控制器:

def checked = params.list('myCheckbox')