gpt4 book ai didi

list - 如何获取grails中的复选框列表

转载 作者:行者123 更新时间:2023-12-02 14:22:36 25 4
gpt4 key购买 nike

在 grails 中,我试图获取选中复选框的列表。
我有复选框列表,但我的问题有两个:

1)当我单击列表中的单个项目并单击提交时 - 我只得到“开”的值。如果我单击多个复选框项目,我会得到如下信息:

[Ljava.lang.String;@5a37f9f7

2)。我没有得到检查项目的列表或名称。

这是我在 gsp 中的复选框的代码:
<g:form action="submitForm">
<ul class="columns3">
<g:each in="${name}" var="fileName" >
<g:checkBox value="${false}" name="${ 'fileName'}" /> ${fileName.replaceFirst(~/\.[^\.]+$/, '')}<br>
</g:each>
</ul>
<br>
<br>
<g:submitButton name="Submit"/>
</g:form>

这是 Controller 代码(groovy):
class Read_dirController {

def index() {

def list = []

def dir = new File("/home/ironmantis/Documents/business/test_files")
dir.eachFileRecurse (FileType.FILES) { file ->
list << file
}

list.each {
println it.name.replaceFirst(~/\.[^\.]+$/, '')
}

render(view: "index", model: [name:list.name])

params.list('fileName')

}

def displayForm() { }

def submitForm(String fileName) {
render fileName
//render(view: "tests_checked", fileName)
}
}

我试图将 id 绑定(bind)到复选框,但我不断收到异常错误。

您能给我的任何帮助我都非常感激;我是 grails 的新手。

铁螳螂7x

最佳答案

您可以为此使用漂亮的命令对象。为此,首先创建一个具有 bool 字段的类 RequestCO。

class RequestCO {
boolean isChecked;
String name;
}


class RequestParentCO {
List<RequestCO> requestCOs = [].withLazyDefault { new RequestCO() }
}

现在,您只需在操作中将所有请求绑定(bind)到 RequestParentCO:
def submitForm(RequestParentCO parentCO) {
println parentCO.requestCOs.findAll { it.isChecked }
}

这将为您提供所有选中的复选框结果。

普惠制
<g:form action="process">
<ul class="columns3">
<g:each in="${["one", "two", "three"]}" var="fileName" status="i">
<g:hiddenField name="requestCOs[${i}].name" value="${fileName}"/>
<g:checkBox name="requestCOs[${i}].isChecked"/> ${fileName}<br>
</g:each>
</ul>
<g:submitButton name="Submit"/>

关于list - 如何获取grails中的复选框列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36297035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com