我需要创建一个自定义gsp,其域模型设计如下
class Question {
SortedSet<Choice> choiceCollection;
static hasMany = [choiceCollection:Choice]
static mappping = {
choiceCollection(joinTable:false)
}
}每个问题对象有五个选项。因此,我创建了以下代码片段
create.gsp
<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是关闭的,如您在上面看到的-,但我相信真正的问题是表达式。
${questionInstance?.choiceCollection[${i}]?.description}它涉及嵌套的GSP表达式。
问:我是不是漏掉了什么特征?如果是的话,我应该如何克服我的障碍呢?
Grails版本: 2.1.1
发布于 2012-10-05 08:41:21
不应该
${questionInstance?.choiceCollection[${i}]?.description}be
${questionInstance?.choiceCollection[ i ]?.description}设定位:
试一试如下:
<g:each var="choice" status="i" in="${questionInstance?.choiceCollection}">所以i仍然包含您的索引,但是choice包含了您试图通过questionInstance?.choiceCollection[${i}]获得的内容。
https://stackoverflow.com/questions/12742531
复制相似问题