在我的域中,我的Commessa
包含programmazioneTransient
列表,其中包含varieTransient
列表。
使用thymeleaf我创建一个视图,显示第二个列表的每个元素,并运行完美。现在我添加了循环以显示varieTransient列表,但是我有这个错误:
引起:org.attoparser.ParseException:异常评估 SpringEL表达式: “programmazioneTransient + $ {prgStat.index} .varieTransient”(模板: “views / programmazione / show” - 第92行,第19行)at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393) 〜[attoparser-2.0.4.RELEASE.jar:2.0.4.RELEASE] at org.attoparser.MarkupParser.parse(MarkupParser.java:257) 〜[attoparser-2.0.4.RELEASE.jar:2.0.4.RELEASE] at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230) 〜[thymeleaf-3.0.8.RELEASE.jar:3.0.8.RELEASE] ... 102个常见帧 省略引起: org.thymeleaf.exceptions.TemplateProcessingException:异常 评估SpringEL表达式: “programmazioneTransient + $ {prgStat.index} .varieTransient”(模板: “views / programmazione / show” - 第92行,第19行)at org.thymeleaf.spring4.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:290) 〜[thymeleaf-spring4-3.0.8.RELEASE.jar:3.0.8.RELEASE]
我的 html 页面如下:
<th:block th:each="prg, prgStat : *{programmazioneTransient}">
<tr th:id="riga+${prgStat.index}">
<td scope="col" style="width: 15%!important;">
<input type="text" th:id="sperimentatore+${prgStat.index}" th:name="programmazioneTransient[+${prgStat.index}+].sperimentatore" class="text-center form-control-plaintext" readonly="readonly" th:value="${#strings.capitalizeWords(prg.sperimentatoreTransient)}"></input>
</td>
<td scope="col" style="width: 15%!important;">
<input type="text" th:id="aiutoSperimentatore+${prgStat.index}" th:name="programmazioneTransient[+${prgStat.index}+].aiutoSperimentatore" class="text-center form-control-plaintext" readonly="readonly" th:value="${#strings.capitalizeWords(prg.aiutoSperimentatoreTransient)}"></input>
</td>
...
<th:block th:each="v, vInd : *{programmazioneTransient+${prgStat.index}.varieTransient}" >
<td scope="col" >
<input type="number" th:id="v.quantita+*{#lists.size(programmazioneTransient)}" th:name="varieTransient[+${vInd.index}+].numeroProgrammate" class="text-center form-control-plaintext" readonly="readonly" th:value="varieTransient[+${vInd.index}+].numeroProgrammate"></input>
</td>
</th:block>
</tr>
</th:block>
有什么建议吗?
答案 0 :(得分:0)
为什么不使用局部变量?
而不是尝试索引<th:block th:each="prg, prgStat : *{programmazioneTransient}">
.
.
.
<th:block th:each="v, vInd : ${prg.varieTransient}">
.
.
.
</th:block>
</th:block>
如果你想使用索引,你应该记住,一般情况下,你不应该嵌套${...}
表达式 - 除非在特殊情况下。那个表达式看起来像这样:
<th:block th:each="v, vInd : *{programmazioneTransient[prgStat.index].varieTransient}">
.
.
.
</th:block>