小编Cra*_*vis的帖子

Spring MVC:如何在没有值的情况下测试参数是否存在?

我想用我的自定义 login.jsp 表单显示一条错误消息。当出现错误时,url 是 ../loginForm?error 没有任何值分配给错误。(这似乎是 Spring Security 的行为。)如果没有错误,则 url 只是 ../loginForm (没有参数)。在控制器中,我可以使用@RequestParam 捕获参数,但是如何检查是否传递了错误?换句话说,如何在没有值的情况下单独测试参数?

这是我现在拥有的控制器代码:

@RequestMapping("/loginForm")
public String showLoginForm(@RequestParam(value="error", defaultValue="false") 
                                    boolean error,
                                Model model)
{
    if (error == true) 
    {
        model.addAttribute("loginError", "Invalid username and password.");
    }

    return "/user/loginForm";
}
Run Code Online (Sandbox Code Playgroud)

...这是 JSP 代码段:

 <c:if test="${not empty loginError}">
  <tr>
   <td><c:out value="${loginError}" /></td>
  </tr>
 </c:if>
Run Code Online (Sandbox Code Playgroud)

在这一点上,我不包括我设置的安全配置,因为其他一切似乎都在工作,我想把重点放在手头的问题上。

在此先感谢您的任何建议!

security spring login

5
推荐指数
1
解决办法
5959
查看次数

标签 统计

login ×1

security ×1

spring ×1