gpt4 book ai didi

grails - 如何在Grails的编辑 View 中显示多选列表框中的所有选定选项?

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

我是Grails开发的新手,在将<g:select>用于多选列表时遇到了问题。在我的表单中,用户可以在多选列表框中选择1到6个选项。然后,他们可以返回到编辑 View 以进行更改。

表单成功保存了所有选中的选项,但是如果选择了多个选项,则列表框不会显示在编辑 View 中选中的任何选项。但是,如果仅选择一个选项,则该选项将正确显示在编辑 View 中。

有人可以给我一些解决方法的想法,以便所有选择的选项都显示在编辑 View 中吗? (运行Grails 2.0.3)

这是我在GSP中的<g:select>代码:

<g:select selected="true" multiple="true" name="securityGroup"
from="${['Mainframe', 'Finance', 'EDI', 'Item Master', 'Risk Management', 'Telecomm']}"
value="${MFAdminInstance?.securityGroup}"/>

域:

MFAdmin类{
static constraints = {

name(nullable:false, blank:false, unique:true)
briefDetail(nullable:false, blank:false)
details(blank:false)
recsz(nullable:false, blank:false)
securityGroup(nullable:false, blank:false)
files(nullable:false, blank:false)
begJCL(nullable:false, blank:false)
addJCL1(nullable:true, blank:true)
addJCL2(nullable:true, blank:true)
endJCL(nullable:false, blank:false)

}

String name
String briefDetail
String details
String recsz
String securityGroup
Integer files
String begJCL
String addJCL1
String addJCL2
String endJCL

}

最佳答案

尝试对g:select标记更明确地知道$ {MFAdminInstance?.securityGroup}的值是一个列表。我建议这样的事情:

${MFAdminInstance?.securityGroup?.toList()}

我可以用以下方法模拟您的代码:
<g:form action="update">
<g:select selected="true" multiple="true" name="securityGroup"
from="${['Mainframe', 'Finance', 'EDI', 'Item Master', 'Risk Management', 'Telecomm']}"
value="${bars}"/>
<g:submitButton name="submit" />
</g:form>

在我处理该帖子的 Action foo2中:
def update() {
render(view: 'foo', model: [
bars: params.securityGroup.toList()
])
}

如您所见,当我定义了要在gsp中使用的列表 bars时,我不得不明确地告诉它params.securityGroup是一个列表。最后没有那个 toList(),行为就是多选的缺失选择。

编辑:

..inMFAdminInstance ...
List<String> securityGroup

在您的 Controller 中,您可以使用以下内容将所选的帖子值存储到您的域中:
def mf = new MFAdminInstance()
mf.securityGroup = params.securityGroup?.toList()

关于grails - 如何在Grails的编辑 View 中显示多选列表框中的所有选定选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231801/

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