2017-08-15 110 views
1

我是一個初學者在春季啓動,我嘗試做一個簡單的登錄使用thymeleaf形式,它採取輸入名稱和密碼,並與名稱和paswword的一個用戶存儲在數據庫,在那裏它的ID爲1 我的控制器是這樣的:春季開機簡單登錄失敗

@RequestMapping(value="/access", method=RequestMethod.POST) 
public String access(@ModelAttribute("user") User user, ModelMap model) 
    { 
    Long id=(long) 1; 
    User u= userServiceImp.finduserById(id); 
    if(user.getName().equals(u.getName()) && user.getPassword().equals(u.getPassword())) 


      { 
     model.put("username", user.getName()); 
     return "index"; 
      } 

    else 
    { 
     model.put("message", "wrong username or password"); 
    return "login"; 
    } 
} 

和我的HTML表單是這樣的:

<form th:action="@{/access}" th:object="${user}" method="POST"> 
 
    \t <input type="text" th:field="*{name}" placeholder="Username" required="required" ></input> 
 
     <input type="password" th:field="*{password}" placeholder="Password" required="required" ></input> 
 
     <button type="submit" class="btn btn-primary btn-block btn-large">Let me in.</button> 
 
     <h1>${message}</h1> 
 
    </form>

但我alwayes得到這個錯誤頁面 enter image description here

可問題是什麼

控制器不能reconize了個對象:對象=「$ {}用戶」 ,所以我改變從這個這個梅索德:

RequestMapping(value="/login", method = RequestMethod.GET) 
public String showLoginPage(ModelMap model){ 

    return "login"; 
} 

這樣:

RequestMapping(value="/login", method = RequestMethod.GET) 
public String showLoginPage(ModelMap model){ 
    User user = new User(); 
    model.addAttribute("user", user); 
    return "login";} 

現在一切走到右

+0

當您嘗試一個簡單的「Hello World」的消息,而不是登錄的是否呈現頁面? –

+0

另外,您的IDE應該已經打印完整的堆棧跟蹤錯誤。你可以在這裏發佈嗎? –

+0

,你能讓我們知道什麼是第79行或登錄? – Ben

回答

0

你可以試試這個:

return "redirect:index"; 

return "redirect:/index"; 
+0

我只是做一個更新來解釋我如何解決它,謝謝 –