我有一个带有以下代码的jsp文件

    <form:form modelAttribute="user" method="POST" name="loginForm" action="loginProcess" id="loginForm" autocomplete="off">
        <input type='hidden' name='remember-me' value="true" />
        <div id="login-container">

            <spring:bind path="userName">
                <c:if test="${status.error}">
                    <div id="formError" <span><form:errors path="userName" /></span></div>
                </c:if>
            </spring:bind>

            <fieldset>
                <ul id="login-form">
                    <li>
                        <label for="username"><spring:message code="login.UserName" /></label>
                        <input id="username" name="username" type="text"  <spring:bind path="userName"> <c:if test="${not empty status.error}"> value='<%= (session.getAttribute(UsernamePasswordAuthenticationFilter.SPRING_SECURITY_FORM_PASSWORD_KEY) == null ? userName :session.getAttribute(UsernamePasswordAuthenticationFilter.SPRING_SECURITY_FORM_PASSWORD_KEY)) %>'</c:if> </spring:bind> />
                    </li>
                    <li>
                        <label for="password"><spring:message code="login.Password" /></label>
                        <input id="password" name="password" type="password" />
                    </li>
                    <li>
                        <div class="buContainer">
                            <a class="buOrange large" id="submit" href="#" onclick="validateForm()"><spring:message code="login.logIn" /></a>
                        </div>
                    </li>
                </ul>
            </fieldset>
            <div class="buContainer">
                <a id="forgot-link" href="forgotPassword"><spring:message code="login.forgotPassword" /></a>
            </div>
        </div>
    </form:form>


在这里登录失败时我需要保留用户名。

<form:form>
<form:input path="username" />
</form:form>


但我不知道在哪里使用上面的代码,请对此提供帮助。

最佳答案

我们的login.jsp中有此标记,看来可以正常运行:

<input id="j_username"
       type="text"
       name="j_username"
       value="${sessionScope.SPRING_SECURITY_LAST_USERNAME}"
       placeholder="Username"
       class="form-control no-border">


$sessionScope.SPRING_SECURITY_LAST_USERNAME似乎可以解决问题。

关于java - 登录失败时在 Spring 保留用户名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39287820/

10-11 06:14