簡體   English   中英

在spring mvc中更改URL

[英]Change URL in spring mvc

我在URL http://localhost:8080/myproject/login有一個這樣的登錄表單:

<form:form method="POST"  modelAttribute="auth" action="welcome" id="formlogin">
[...]
</form:form>

和這樣的控制器:

@RequestMapping(value = "/welcome")
public String welcome([...]) {

    [...]

    if(logins.size() != 1) { 
        return "login"; 
    }

    [...]

    return "welcome";
}

問題是當登錄不正確時我得到了這個URL http://localhost:8080/myproject/welcome但我想得到http://localhost:8080/myproject/loginwelcome以防萬一登錄是正確的。

第一次更新

在我的情況下最好的使用方式

return "redirect:/login"

但在我必須添加這樣的屬性之前

model.put("errorlogin", true);

處理這個問題

<c:if test="${ errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if> 

但是錯誤消息沒有顯示,而是我得到了這個URL

http://localhost:8080/pagesjaunes/login?errorlogin=true

我設置了一個屬性,我得到一個參數。

第二次更新

我解決了這個問題:

<c:if test="${ param.errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if>

因此,您的表單應該以login作為其操作,如果登錄成功,則實現此操作的方法應重定向到歡迎。

@RequestMapping(value = "/login", method = ResquestMethod.POST)
public String handleLogin([...]) {
    ...
    if (successful) {
        return "redirect:/welcome"
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM