执行处理器

时间:2018-01-31 20:47:44

标签: spring thymeleaf

完整错误是:

  

执行处理器时出错   'org.thymeleaf.spring4.processor.attr.SpringInputGeneralFieldAttrProcessor'   (搜索:12)

我的search.html页面会显示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <!--<meta charset="UTF-8">-->
    <title>Search Users</title>
</head>
<body>

<h3>Search Users</h3>
<form th:action="@{/user/search}" th:object="${searchCriteria}" method="post">
<p>First Name: <input type="text" value="*{firstname}"/></p>
<p>Last Name: <input type="text" value="${searchCritera.lastname}"/></p>
    <br/>
    <input type="submit" value="search"/>
</form>
</body>
</html>

但我随后将value更改为th:field *{firstname}${searchCritera.lastname},如下所示:

<form th:action="@{/user/search}" th:object="${searchCriteria}" method="post">
<p>First Name: <input type="text" th:field="*{firstname}"/></p>
<p>Last Name: <input type="text" th:field="${searchCritera.lastname}"/></p>
    <br/>
    <input type="submit" value="Search"/>
</form>

现在我收到上面的错误,似乎无法修复它。我试过了th:value,但又引发了另一个错误:

  

评估SpringEL表达式的异常:“searchCritera.lastname”   (搜索:12)

1 个答案:

答案 0 :(得分:1)

通常,当您使用美元符号时,请使用th:

<input type="text" th:value="${searchCriteria.lastname}"/>

正确拼写变量名称。

同时包括name=th:field=(或者相反,取决于您尝试完成的内容)。