title: Spring framework does not map list request parameter correctly
body: <p>I have a web request like</p>
  
  <pre><code>/path?param=value1&amp;param=value2
  </code></pre>
  
  <p>which maps to a <code>List&lt;String&gt;</code> param on the Controller side. </p>
  
  <p>The important aspect to note is that value1 and value2 can have a comma(,) in their values. </p>
  
  <p>I see 2 different behaviors with spring request parameter mapping. </p>
  
  <p>Case 1. <code>/path?param=part1%2Cpart2 (url encoded comma)</code></p>
  
  <p>Spring request parameter maps this to a List of size 2 with part1 and part2 as the elements, but <code>HttpServletRequest.getParameterValues("param")</code> is correctly assigned to an array of size 1 with value=part1,part2</p>
  
  <p>Case 2. <code>/path?param=part1%2Cpart2&amp;param=part3%2Cpart4</code></p>
  
  <p>In this case Spring correctly maps this to a list of 2 values, and so does the HttpServletRequest parameter.</p>
  
  <p>I guess Spring is supporting mapping <code>List</code> parameter with both csv values and repeating the parameter. Is there a way to tell Spring to use a particular mapping method?</p>
  
  <p>I'm using spring-mvc 3.2.13</p>
  
  <pre><code>@Controller
  public class MyController {
  
      @RequestMapping(value = "/mymethod", method = RequestMethod.POST)
      public @ResponseBody Boolean method(MyRequest myReq, HttpServletRequest request) {
  
      }
  
   }
  
   public class MyRequest {
      List&lt;String&gt; param;
   }
  </code></pre>