2017-08-08 134 views
0

我有一个HTML表单,允许用户输入用户名的一个基本的搜索功能之间的场传递表单输入:春天开机thymeleaf页

<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来显示页面,在这里我打电话的次:在第一个HTML页面中创建领域:

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

第一个HTML页面加载罚款,但是当我按下提交我得到EL1007E的错误消息:属性或字段“用户N”不能在null上找到。

这里是我的模型:

public class Searchuser { 
    private String usern; 

    public String getUsern() { 
    return usern; 
    } 

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

这里是我的控制器:

package com.compman.controller; 

    import org.springframework.stereotype.Controller; 
    import org.springframework.ui.Model; 
    import org.springframework.web.bind.annotation.GetMapping; 
    import org.springframework.web.bind.annotation.ModelAttribute; 
    import org.springframework.web.bind.annotation.PostMapping; 

    import com.compman.models.Searchuser; 

    @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"; 
    } 
} 

回答

0

替代

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

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