首页 > 解决方案 > 百里香表

问题描述

当我想为每个 i.index 设置值时,我有问题表得到错误 java.lang.NumberFormatException:对于输入字符串:“$ {i.index}”。在数组中我需要数字,所以 ${i.index} 是 int。我不知道我做错了什么。

<div class="form-group row" th:each="attribute, i: ${attributeList}">
        <label class="col-sm-3 col-form-label" th:text="${attribute.name}"></label>
        <div class="col-sm-9">
            <input type="text" th:field="*{technicalAttributes[${i.index}].name}" class="form- 
            control" placeholder="Nazwa">
        </div>
</div>

标签: spring-bootthymeleaf

解决方案


*{...${...}...}如果不使用预处理,您不能像您正在做的那样嵌套表达式 ( )。您的代码应如下所示:

<div class="form-group row" th:each="attribute, i: ${attributeList}">
  <label class="col-sm-3 col-form-label" th:text="${attribute.name}"></label>
  <div class="col-sm-9">
    <input type="text" th:field="*{technicalAttributes[__${i.index}__].name}" class="form-control" placeholder="Nazwa">
  </div>
</div>

(如果您没有使用 th:field 属性,则表达式*{technicalAttributes[i.index].name}也是合适的。但由于您使用的是 th:field,因此您必须使用预处理。)


推荐阅读