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”
的用户,这无疑是解决方案。