Java 为什么表单提交会打开新窗口/选项卡?

Java 为什么表单提交会打开新窗口/选项卡?,java,html,forms,spring,spring-mvc,Java,Html,Forms,Spring,Spring Mvc,我发现了很多问题,但我面临着相反的问题 我有以下表格: ... 然后我有一个控制器和处理方法 @RequestMapping(value=“/search.form”,method=RequestMethod.POST) 公共字符串提交(@Valid final SearchObject SearchObject,final BindingResult BindingResult){ if(bindingResult.hasErrors())返回“forms/search”; 返回“重定向:

我发现了很多问题,但我面临着相反的问题

我有以下表格:


...
然后我有一个控制器和处理方法

@RequestMapping(value=“/search.form”,method=RequestMethod.POST)
公共字符串提交(@Valid final SearchObject SearchObject,final BindingResult BindingResult){
if(bindingResult.hasErrors())返回“forms/search”;
返回“重定向:/A/result.form”;
}
除了结果在新窗口/选项卡中打开之外,其他一切都正常工作

我找到并正在使用的解决方案是添加目标属性:


但是
\u self
是默认的AFAIK

我想知道为什么会这样

我检查了生成的HTML,在我看来还可以:


编辑添加的标题

Content-Language    en-US
Content-Length  0
Date    Thu, 22 Mar 2012 16:29:13 GMT
Location    http://localhost:8080/myApp/A/result.form
Server  Apache-Coyote/1.1
Request Headersview source
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Cookie  JSESSIONID=E9ACB44C4ED3814814ABE7D96C90135C; GUEST_LANGUAGE_ID=cs_CZ; COOKIE_SUPPORT=true
Host    localhost:8080
Referer http://localhost:8080/myApp/A/search.form
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0
Response Headers From Cache
Content-Language    en-US
Content-Length  0
Date    Thu, 22 Mar 2012 16:29:13 GMT
Location    http://localhost:8080/myApp/A/result.form
Server  Apache-Coyote/1.1
Request Headers From Upload Stream
Content-Length  64
Content-Type    application/x-www-form-urlencoded


GET sessions.form

200 OK

localhost:8080

309 B

::1:8080


6ms
HeadersResponseCacheHTML
Content-Language    en-US
Content-Length  309
Content-Type    text/html;charset=utf-8
Date    Thu, 22 Mar 2012 16:29:13 GMT
Server  Apache-Coyote/1.1
Request Headersview source
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/ *;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Cookie  JSESSIONID=E9ACB44C4ED3814814ABE7D96C90135C; GUEST_LANGUAGE_ID=cs_CZ; COOKIE_SUPPORT=true
Host    localhost:8080
Referer http://localhost:8080/myApp/A/search.form
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0
编辑2为result.form添加了方法

@RequestMapping(value=“/result.form”,method=RequestMethod.GET)
公共字符串结果(){
返回“表格/结果”;
}
我的控制器类以以下内容开始:

@控制器
@请求映射(value=“/A”)
公共类控制器{

问题出现了。我故意
target=“\u blank”
在标签中,可能是因为我从w3schools复制了这个例子:-/

当你使用Javascript时,你有相同的行为吗?禁用JS时,行为是相同的。在不同的浏览器上呢?其他网站和链接可以工作吗?可能没有关系,但我的浏览器在所有表单上都有这样的错误。重新启动解决了它。这是一个错误在我的所有浏览器(IE9、FF11、Chrome17)中执行。对于那些在
标记中没有
target=“\u blank”
的用户,这无疑是解决方案。