Spring Boot + Thymeleaf在循环中解析错误

时间:2016-04-12 05:43:43

标签: spring-boot thymeleaf

使用Thymeleaf视图的Spring Boot应用程序在我尝试在数组中使用索引变量时给出了解析错误:

<tr th:each="cdItem, stat : *{commonDataItems}">      
      <td th:text=${stat.index}>Index</td>      
      <td> <input type="text" th:field=*{commonDataItems[__${stat.index}__].value>Value</td>    
</tr>

<td th:text=${stat.index}>Index</td>行用于测试目的,它提供了正确的索引值,但下一行<td> <input type="text" th:field=*{commonDataItems[__${stat.index}__].value>Value</td>给出了解析错误。 错误信息是:

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "*{commonDataItems[__${stat.index}__].value" (common)
    at org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:238) ~[thymeleaf-2.1.4.RELEASE.jar:2.1.4.RELEASE]
    at org.thymeleaf.standard.expression.StandardExpressionParser.parseExpression(StandardExpressionParser.java:79) ~[thymeleaf-2.1.4.RELEASE.jar:2.1.4.RELEASE]

任何想法有什么不对?

1 个答案:

答案 0 :(得分:1)

缺少报价! th:field="*{commonDataItems[__${stat.index}__].value"

所以:

<tr th:each="cdItem, stat : *{commonDataItems}">      
      <td th:text=${stat.index}>Index</td>      
      <td> <input type="text" th:field="*{commonDataItems[__${stat.index}__].value">Value</td>    
</tr>