You*_*sef 5 java spring spring-mvc
我在URL中有一个这样的登录表单http://localhost:8080/myproject/login:
<form:form method="POST" modelAttribute="auth" action="welcome" id="formlogin">
[...]
</form:form>
Run Code Online (Sandbox Code Playgroud)
和这样的控制器:
@RequestMapping(value = "/welcome")
public String welcome([...]) {
[...]
if(logins.size() != 1) {
return "login";
}
[...]
return "welcome";
}
Run Code Online (Sandbox Code Playgroud)
问题是,当登录名不正确时,我得到了此URL,http://localhost:8080/myproject/welcome但我想获取http://localhost:8080/myproject/login并获取welcome以防万一登录名正确。
第一次更新
就我而言,最好的使用方式
return "redirect:/login"
Run Code Online (Sandbox Code Playgroud)
但在我必须添加这样的属性之前
model.put("errorlogin", true);
Run Code Online (Sandbox Code Playgroud)
处理这个
<c:if test="${ errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if>
Run Code Online (Sandbox Code Playgroud)
但是错误消息没有显示,而是我得到了这个URL
http://localhost:8080/pagesjaunes/login?errorlogin=true
Run Code Online (Sandbox Code Playgroud)
我设置一个属性,然后得到一个参数。
第二次更新
我解决了这个问题:
<c:if test="${ param.errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if>
Run Code Online (Sandbox Code Playgroud)
因此,您的表单应具有login其操作,并且如果登录成功,实现此操作的方法应重定向到welcome。
@RequestMapping(value = "/login", method = ResquestMethod.POST)
public String handleLogin([...]) {
...
if (successful) {
return "redirect:/welcome"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10079 次 |
| 最近记录: |