2010-06-04 67 views
1

有一個表單提交中的用戶登錄Spring的MVC打開新的標籤頁無明顯原因

<div class="logInDIV"> 
    <form action="login.do" target="login.do" method="post"> 
     <span style="font-size:77%;"> 
      <label>email:</label> 
      <input path="userName" cssClass="textfield" cssStyle="width:160px;" title="user name" name="userName" type="text" /> 
      &nbsp; 
      <label>password:</label> 
      <input path="password" cssClass="textfield" cssStyle="width:160px;" name="password" type="password" /> 
      &nbsp; 
      <input value="Login" class="button" type="submit" style="margin-bottom:4px" /> 
     </span> 
    </form> 
</div> 

和相應的控制方法:

@RequestMapping(value = "/login.do", method = RequestMethod.POST) 
    public String doLogin(
      @RequestParam(value = "userName") String userName, 
      @RequestParam(value = "password") String password, 
      HttpSession session) { 
     logger.info("login.do : userName=" + userName + ", password=" + password); 

     SkunkPostUser skunkPostUser = null; 
     try { 
      skunkPostUser = profileService.getSkunkPostUser(userName, password); 
     } catch (SkunkPostUserNotFoundException userNotFoundException) { 
      return "login"; 
     } 
     session.setAttribute("skunkPostUser", skunkPostUser); 
     return "redirect:/"; 
    } 

出於某種原因,當我點擊提交登錄按鈕它總是打開一個新的標籤,不知道爲什麼,有人知道嗎?

+0

你看過JSP生成的HTML嗎? – skaffman 2010-06-04 16:22:19

回答

2

<form>刪除target屬性。它指定了一個target window,而不是目標URL。

+0

謝謝,我喜歡製作HTML錯誤,然後將它歸咎於Spring-MVC:o。 – walnutmon 2010-06-04 16:31:53

2

刪除target="login.do"。它有一組有限的值:_blank,_self,_parent,_top,framename。也許你的價值被解釋爲「_blank」。

相關問題