Java 迭代的迭代

Java 迭代的迭代,java,spring,foreach,thymeleaf,Java,Spring,Foreach,Thymeleaf,在我的域中,我有一个Commessa,其中包含一个programmazioneTransient列表,其中包含一个varietTransient列表 使用thymeleaf,我创建了一个显示第二个列表的每个元素的视图,并且运行得非常完美。现在,我添加了用于显示VarietTransient列表的循环,但出现以下错误: 原因:org.attoparser.ParseException:异常评估 斯普林格尔表达式: “programmazioneTransient+${prgStat.index}.

在我的域中,我有一个
Commessa
,其中包含一个
programmazioneTransient
列表,其中包含一个
varietTransient
列表

使用thymeleaf,我创建了一个显示第二个列表的每个元素的视图,并且运行得非常完美。现在,我添加了用于显示VarietTransient列表的循环,但出现以下错误:

原因:org.attoparser.ParseException:异常评估 斯普林格尔表达式: “programmazioneTransient+${prgStat.index}.VarietTransient”(模板: “视图/程序导航/显示”-第92行,第19列) 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}.VarietTransient”(模板: “视图/程序导航/显示”-第92行,第19列) 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>

...

有什么建议吗?

与其尝试索引,为什么不使用局部变量呢

<th:block th:each="prg, prgStat : *{programmazioneTransient}">
    .
    .
    .
    <th:block th:each="v, vInd : ${prg.varieTransient}">
        .
        .
        .
    </th:block>
</th:block>

您试图对这一行执行的操作:{programmazioneTransient+${prgStat.index}.VarietTransient}基于您的问题,看起来您试图对列表和进行求和element@RafałSokalski我想在${prgStat.index}位置看到元素varietTransient,我尝试使用*{programmazioneTransient[+${prgStat.index}+],但在
[
您是否错过了获取列表元素的地方[]?@RafałSokalski给我一个错误。这正是我遵循的方法。谢谢
<th:block th:each="v, vInd : *{programmazioneTransient[prgStat.index].varieTransient}">
    .
    .
    .
</th:block>