【问题标题】:Spring-MVC Opening New Tabs For No Apparent ReasonSpring-MVC 无缘无故打开新标签
【发布时间】:2011-02-27 21:20:51
【问题描述】:

有一个带有提交的表单,可以让用户登录

<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:/";
    }

由于某种原因,当我单击提交登录按钮时,它总是打开一个新标签,不知道为什么,有人知道吗?

【问题讨论】:

  • 你看过JSP生成的HTML吗?

标签: java html spring-mvc


【解决方案1】:

&lt;form&gt; 中删除target 属性。它指定target window,而不是目标 URL。

【讨论】:

  • 谢谢,我喜欢犯 HTML 错误,然后将其归咎于 Spring-MVC :o.
【解决方案2】:

删除target="login.do"。它有一组有限的值:_blank、_self、_parent、_top、framename。也许您的值被解释为“_blank”。

【讨论】:

    猜你喜欢
    • 2020-04-17
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多