首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未关闭的GSP表达式: Grails GSP引擎不解析嵌套的GSP表达式

未关闭的GSP表达式: Grails GSP引擎不解析嵌套的GSP表达式
EN

Stack Overflow用户
提问于 2012-10-05 08:37:19
回答 1查看 1.9K关注 0票数 0

我需要创建一个自定义gsp,其域模型设计如下

代码语言:javascript
复制
class Question {

    SortedSet<Choice> choiceCollection;

    static hasMany = [choiceCollection:Choice]
    static mappping = {
        choiceCollection(joinTable:false)
    }

}

每个问题对象有五个选项。因此,我创建了以下代码片段

create.gsp

代码语言:javascript
复制
<g:each var="i" in="${(1..5)}">
    <div class="fieldcontain  required">
    <label for="description">
            Option ${i}.
            <span class="required-indicator">*</span>
        </label>
        <g:textArea name="choiceCollection[${i}].description" cols="40" rows="5" maxlength="2000" value="${questionInstance?.choiceCollection[${i}]?.description}"/>
    </div>
</g:each>

虽然Grails引擎抱怨未关闭的GSP表达式- g:textArea是关闭的,如您在上面看到的-,但我相信真正的问题是表达式。

代码语言:javascript
复制
${questionInstance?.choiceCollection[${i}]?.description}

它涉及嵌套的GSP表达式。

问:我是不是漏掉了什么特征?如果是的话,我应该如何克服我的障碍呢?

Grails版本: 2.1.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 08:41:21

不应该

代码语言:javascript
复制
${questionInstance?.choiceCollection[${i}]?.description}

be

代码语言:javascript
复制
${questionInstance?.choiceCollection[ i ]?.description}

设定位:

试一试如下:

代码语言:javascript
复制
<g:each var="choice" status="i" in="${questionInstance?.choiceCollection}">

所以i仍然包含您的索引,但是choice包含了您试图通过questionInstance?.choiceCollection[${i}]获得的内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12742531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档