Grails,如何将对象列表从gsp传递给控制器
我有一个将导入数据库的csv文件列表。 因此,在第一步中,我在jsp页面中显示文件的名称,然后等待用户选择导入或忽略文件需要什么 当用户确认其响应时,我需要传递用户选择将其导入控制器的文件列表 我考虑过:我在隐藏字段中设置了包含文件列表的列表,并将其从表单提交恢复为控制器操作。但在控制器中,它的读取方式类似于字符串变量,我无法从中提取数据Grails,如何将对象列表从gsp传递给控制器,grails,Grails,我有一个将导入数据库的csv文件列表。 因此,在第一步中,我在jsp页面中显示文件的名称,然后等待用户选择导入或忽略文件需要什么 当用户确认其响应时,我需要传递用户选择将其导入控制器的文件列表 我考虑过:我在隐藏字段中设置了包含文件列表的列表,并将其从表单提交恢复为控制器操作。但在控制器中,它的读取方式类似于字符串变量,我无法从中提取数据 <g:hiddenField id="list_file_notimported" name="list_file_notimported" value
<g:hiddenField id="list_file_notimported" name="list_file_notimported" value="${list_file_notimported}" />
<table>
<g:findAll in="${list_file_notimported}" expr="1" >
<tr>
<td></td>
<td>${it.code}</td>
<td>${it.name}</td>
<td><g:radio id="group_${it.id}" name="group_${it.id}" value="import" checked="${false}" /></td>
<td><g:radio id="group_${it.id}" name="group_${it.id}" value="ignore" checked="${false}" /></td>
</tr>
</g:findAll></table>
有什么想法吗
谢谢。此示例适用于Grails 2.4.3: 在控制器中,定义索引操作以返回模型,定义选择操作以计算gsp中选择的文件列表:
class FileListController {
def index() {
[ list_file_notimported : [ 'a.csv', 'b.csv', 'c.csv', 'd.csv'] ]
}
def selection() {
def selectedfiles = []
params.keySet().each { String key ->
if (key.startsWith("group_") && key.endsWith(".csv") && params[key] == "import") {
selectedfiles << key.substring(6)
}
}
render(selectedfiles)
}
}
在视图中,为选择创建一个表单:
<g:form action="selection" method="get">
<table>
<tr><th>Name</th><th>Import</th><th>Ignore</th></tr>
<g:each var="it" in="${list_file_notimported}" >
<tr>
<td>${it}</td>
<td><g:radio name="group_${it}" value="import"/></td>
<td><g:radio name="group_${it}" value="ignore" checked="true"/></td>
</tr>
</g:each>
</table>
<g:actionSubmit value="selection"/>
</g:form>
感谢您的回复,如果可以的话,我将在grails1.3.7中测试它