2017-08-15 49 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

我只是做一个更新来解释我如何解决它,谢谢 –