Why does form submit open a new window / tab?

I found a lot of questions "How to open the form result in a new window" , but I ran into another problem.

I have a form:

<form:form method="post" commandName="search"> ... <input type="submit" value="Search" /> </form> 

Then I have a controller with a processing method

 @RequestMapping(value = "/search.form", method = RequestMethod.POST) public String submit( @Valid final SearchObject searchObject, final BindingResult bindingResult ) { if ( bindingResult.hasErrors() ) return "forms/search"; return "redirect:/A/result.form"; } 

Everything works fine, except that the result opens in a new window / tab.

The solution I found and works is to add a target attribute:

 <form:form method="post" commandName="search" target="_self"> 

But _self has a default value of AFAIK.

I wonder why this is happening.

I checked the generated HTML code and it seemed like it:

 <form id="search" action="/myApp/A/search.form" method="post"> 

edit added headers

 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 

change 2 added method for result.form

 @RequestMapping(value = "/result.form", method = RequestMethod.GET) public String result() { return "forms/result"; } 

My controller class starts with:

 @Controller @RequestMapping(value = "/A") public class AController { 
+8
java spring html spring-mvc forms
source share
1 answer

The problem was in the base tag . I had intentionally target="_blank" in the tag, possibly because I copied the example from w3schools: - /

+6
source share

All Articles