【问题标题】:How evaluating fields from nested object in thymeleaf template?如何评估百里香模板中嵌套对象的字段?
【发布时间】:2019-07-29 02:28:26
【问题描述】:

给定两个对象:

public class MVCmodel {
   UUID uuid;
   NestedObject nestedObject = new NestedObject ();
}

public class NestedObject {
   @Size(min = 2, max = 99)
   String name = "";
}

百里香模板

            <tr>
                <td>
                   <input required="true" type="text" th:name="name"
                           th:value="${mVCmodel.getNestedObject.getName()}"
                   >
                   <span th:if="${#fields.hasErrors('name')}"
                    th:errors="${mVCmodel.getNestedObject().getName()}"
                   >Name Error
                   </span> 
                </td>
            </tr>

我收到此错误: 评估 SpringEL 表达式的异常:“fields.hasErrors('name')”

SpringEL 尝试评估 mVCmodel.name 并且必须失败,因为 MVCmodel 中没有字段名称。

如何评估字段 mVCmodel.nestedObject.name?

【问题讨论】:

标签: spring-boot spring-mvc thymeleaf


【解决方案1】:

如果you're not using in a form using th:object,你需要像这样使用#fields.hasErrors:

${#fields.hasErrors('${mVCmodel.nestedObject.name}')}

如果你使用th:object,这样的东西应该可以工作:

${#fields.hasErrors('nestedObject.name')}

很难从您发布的代码中分辨出来。您的每个字段都有 getter 和 setter 吗?

【讨论】:

    【解决方案2】:

    您的 NestedObject 类没有名为“名称”的字段。

    【讨论】:

    • 仅供参考
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签