我试图安装一个简单的开始菜单,当我按下提交按钮时,我在POST方法中出现错误。
我的控制器使用post方法调用html中提交的值为"登录"
@Controller
@RequestMapping("usuario")
public class UsuarioControlador {
@Autowired
private UsuarioServicio usuarios;
@RequestMapping(method=RequestMethod.GET )
public String index(ModelMap modelMap){
modelMap.put("usuario",new Usuario());
return "usuario/index";
}
//@PostMapping("/login")
@RequestMapping(value="login",method=RequestMethod.POST)
public String login(@ModelAttribute("usuario")Usuario usuario,HttpSession session,ModelMap modelMap){
if(usuarios.findByUserId(usuario.getIdUsuario())!=null){
session.setAttribute("informacion", usuario.getInformacion());
return "usuario/welcome";
}else{
modelMap.put("error", "Usuario no valido");
return "usuario/index";
}
}
}
我的index.html提交电话"登录"
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form th:action="@{/usuario/login}"
th:objects="${usuario}" method="post">
<table cellpading="2" cellspacing="2">
<tr>
<td>Usuario</td>
<td><input type="text" th:field="*{idUsuario}" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="login" /></td>
</tr>
</table>
<br/>
<span th:text="${error}"></span>
</form>
</body>
</html>
答案 0 :(得分:0)
您必须配置@RequestMapping标记,以匹配表单操作/ usuario / login,其缺少的斜杠符号。 更换 @RequestMapping(&#34; usuario&#34) 同 @RequestMapping(&#34; / usuario&#34)
并替换 @RequestMapping(值=&#34;登录&#34;,方法= RequestMethod.POST) 同 @RequestMapping(值=&#34; /登录&#34;,方法= RequestMethod.POST)