gpt4 book ai didi

grails - GSP上Grails应用中的循环问题

转载 作者:行者123 更新时间:2023-12-02 15:31:35 24 4
gpt4 key购买 nike

我目前正在使用grails应用程序,但在遍历域中存储的某些对象时遇到了问题。在下面您可以看到域,并且我已经设置了一个模板,上面有2个选项。(Option1,Option2)

class Template {

String name

static hasMany = [options:Options]

static constraints = {
name blank: false
}

}

现在下面是 Controller ,我将这些数据传递到 View 进行处理:
def create() {

def template = Template.get(1)
[systemInstance: new System(params), template: template]

}

最后,我在GSP上获得了这段代码,该代码被认为是针对该数据通过2个选项进行循环的,然后,如果检测到一个选项,我希望运行一些代码。但是,当我运行此代码时,我会得到奇怪的行为:
        <%
System.out.println 'option is: ' + option
%>

<g:if test="${option == 'Option1'}">

<%
System.out.println 'Inside the IF'
%>

</g:if>

当我运行此代码时,如您所见,我使用Print语句查看我正在使用的数据。而不是返回值'Options1''Options2',我得到了以下内容:
option is: [
option is: O
option is: p
option is: t
option is: i
option is: o
option is: n
option is: 1
option is: ,
option is:
option is: O
option is: p
option is: t
option is: i
option is: o
option is: n
option is: 2
option is: ]
option is: )

我还测试了下面的代码,并返回“[Options1,Options2]”:
<%
System.out.println 'option is: ' + template.options.name
%>

有人可以帮我解决这个问题,因为它很奇怪。提前致谢。

*** 编辑 *****

每个循环的如下:
<g:each var="option" in="${ template.options.name })">

<%
System.out.println 'option is: ' + option
%>

<g:if test="${option == 'Option1'}">

<%
System.out.println 'Inside the IF'
%>

</g:if>

</g:each>

最佳答案

您的g:each标记内有一种类型。删除结束的)

使用此附加括号,in属性内的变量是字符串:

"[Option1,Option2])"

因此,您要遍历字符串的字符而不是列表的元素。

如果没有 ),该变量将作为 ListStrings处理。

关于grails - GSP上Grails应用中的循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18568895/

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