2017-08-15 11 views
1

私はspring-bootの初心者です。私はthymeleafフォームを使用して簡単なログインをしようとします。入力名とパスワードを取得して、名前とパスワードのパスワードと比較します。そのIDが1 私のコントローラでデータベースに格納されたユーザは、このです:spring-boot simple login failed

@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問題は、コントローラは、番目のオブジェクトをreconizeことができませんでした

何をすることができ enter image description here

このエラーページを取得します。オブジェクト=「$ {ユーザー}」 ので、私はこのことから、このMethodeのを変更

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

今ではすべて:これまで

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

    return "login"; 
} 

+0

ログインするのではなく、単純な「Hello World」のメッセージをしようとすると、それがページをレンダリングしていますか? –

+0

また、IDEは完全なスタックトレースエラーを出力しているはずです。ここに投稿できますか? –

+0

と、79行目にログインしているか、ログインしているのか教えてください。 – Ben

答えて

0

行ってきましたあなたはこれを試すことができます:

return "redirect:index"; 

または

return "redirect:/index"; 
+0

私はちょうど私がそれを修正する方法を説明するためのアップデートを行います、ありがとう –

関連する問題