春天启动thymeleaf字段传递页面之间的输入

时间:2017-08-08 10:30:02

标签: java html spring-boot thymeleaf

我有一个HTML表单,允许用户输入基本搜索功能的用户名:

<form action="#" th:action="@{/admin}" th:object="${searchuser}" method="post">
  <p>Username: <input type="text" th:field="*{usern}"/></p>
  <p><input type="submit" value="Submit"/><input type="reset" value="Reset"/></p>
</form>

然后,结果将显示在我正在调用第一个HTML页面中创建的th:字段的不同HTML页面上:

<div class="formcontainer">
  <h1>Result</h1>
  <p th:text="${UserSearch.usern}"/>
  <a href="/admin">Submit another message</a>
</div>

第一个HTML页面加载正常,但是当我按下提交时,我收到EL1007E的错误消息:属性或字段&#39; usern&#39;在null上找不到。

这是我的模特:

public class Searchuser {

    private String usern;

    public String getUsern() {
        return usern;
    }

    public void setUsern(String usern) {
        this.usern = usern;
    }
}

这是我的控制器:

@Controller
public class UserController {

    @GetMapping("/admin")
    public String greetingForm(Model model) {
        model.addAttribute("searchuser", new Searchuser());
        return "admin";
    }

    @PostMapping("/admin")
    public String greetingSubmit(@ModelAttribute Searchuser searchuser) {
        return "userresults";
    }
}

1 个答案:

答案 0 :(得分:0)

替代

<p th:text="${UserSearch.usern}" />

<p th:text="${searchuser.usern}" />