title: spring-boot get a "400 bad request" error, the detail is followed
body: <p>I am very new on spring boot. So the question I asked maybe cause by I
     missing something. I use spring boot 1.3 and freemarker to build a
     web site. when I submit a form( which some properties I don't fill in
     and this situation is I need) I get a "400 bad request". However,
     when I fill in all the properties of the form and submit, it works.
     So, what's the reason and How can I fix it?</p>
  
  <p>The form is the following code.</p>
  
  <p></p>
  
  <pre><code>    &lt;label for="steelName" &gt;品名:&lt;/label&gt;
      &lt;input type="text" id="steelName" name="steelName" placeholder="品名" value="${steelName!}" required&gt;&lt;br/&gt;
  
      &lt;label for="steelCode" &gt;钢种:&lt;/label&gt;
      &lt;input type="text" id="steelCode" name="steelCode" placeholder="钢种" value="${steelCode!}" required&gt;&lt;br/&gt;
  
      &lt;label for="basic_price" &gt;基价:&lt;/label&gt;
      &lt;input type="text" id="basicPrice" name="basicPrice" placeholder="2000" value="${basicPrice!}" required&gt;
      &lt;label&gt;元&lt;/label&gt;&lt;br/&gt;
  
      &lt;label for="steel_factory" &gt;钢厂:&lt;/label&gt;
      &lt;input type="text" id="steelFactory" name="steelFactory" placeholder="钢厂名称" value="${steelFactory!}" &gt;
  
      &lt;label for="city" &gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;城市:&lt;/label&gt;
      &lt;input type="text" id="city" name="city" placeholder="城市" value="${city!}" &gt;
  
      &lt;br/&gt;
  
      &lt;label for="width" &gt;宽度范围:&lt;/label&gt;
      &lt;input type="text" id="lowWidth" name="lowWidth" placeholder="1.0" value="${lowWidth!}" &gt;
      &lt;label for=""&gt; - &lt;/label&gt;
      &lt;input type="text" id="highWidth" name="highWidth" placeholder="1.6" value="${highWidth!}" &gt;
      &lt;label for=""&gt; m &lt;/label&gt;
  
      &lt;label for="width_step"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;宽度步长：&lt;/label&gt;
      &lt;input type="text" id="widthStep" name="widthStep" placeholder="1.0" value="${widthStep!}" &gt;
      &lt;label for=""&gt; m &lt;/label&gt;
  
      &lt;label for="width_price"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;宽度差价：&lt;/label&gt;
      &lt;input type="text" id="widthPrice" name="widthPrice" placeholder="1.0" value="${widthPrice!}" &gt;
      &lt;label for=""&gt; 元 &lt;/label&gt;
  
      &lt;/br&gt;
  
      &lt;label for="thickness" &gt;厚度范围:&lt;/label&gt;
      &lt;input type="text" id="lowThickness" name="lowThickness" placeholder="1.0" value="${lowThickness!}" &gt;
      &lt;label for=""&gt; - &lt;/label&gt;
      &lt;input type="text" id="highThickness" name="highThickness" placeholder="1.6" value="${highThickness!}" &gt;
      &lt;label for=""&gt; cm &lt;/label&gt;
  
      &lt;label for="thickness_step"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;厚度步长：&lt;/label&gt;
      &lt;input type="text" id="thicknessStep" name="thicknessStep" placeholder="1.0" value="${thicknessStep!}" &gt;
      &lt;label for=""&gt; cm &lt;/label&gt;
  
      &lt;label for="thickness_price"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;厚度差价：&lt;/label&gt;
      &lt;input type="text" id="thicknessPrice" name="thicknessPrice" placeholder="1.0" value="${thicknessPrice!}" &gt;
      &lt;label for=""&gt; 元 &lt;/label&gt;
  
      &lt;/br&gt;
  
      &lt;button type="submit"&gt;提交&lt;/button&gt;
  
  &lt;/form&gt;
  </code></pre>
  
  <p>The Controller.java</p>
  
  <pre><code>    @RequestMapping(value = "/admin/add/steel", method = RequestMethod.POST)
      public String addSteel(@ModelAttribute("steel")Steel steel, Model model) {
  
      log.info("add "+steel.getSteelName()+" info.");
      //model.addAttribute(FormAuthenticationFilter.DEFAULT_USERNAME_PARAM, userName);
      steel = steelService.save(steel);
      model.addAttribute("steel", steel);
      return "steel/detail";
  }
  </code></pre>
  
  <p>The steel entity </p>
  
  <pre><code> @Entity
          @Table(name = "t_steel")
          public class Steel extends IdEntity {    
          @Column(name = "steel_name", unique = true)
          private String steelName;
          @Column(name = "steel_code", unique = true)
          private String steelCode;
          @Column(name = "basic_price", unique = true)
          private int basicPrice;
  
      @Column(name = "steel_factory", nullable = true)
      private String steelFactory = null;
  
      @Column(name = "city", nullable = true)
      private String city = null;
  
      @Column(name = "low_width", nullable = true)
      private Double lowWidth = null;
  
      @Column(name = "high_width", nullable = true)
      private Double highWidth  = null;
  
      @Column(name = "width_step", nullable = true)
      private Double widthStep  = null;
  
      @Column(name = "width_price", nullable = true)
      private Integer widthPrice  = null;
  </code></pre>
  
  <p>The question:</p>
  
  <p>This is the link to <a href="http://i.stack.imgur.com/mPWSr.png" rel="noreferrer">form</a>
  This is the link to<a href="http://i.stack.imgur.com/qv0yD.png" rel="noreferrer">error</a></p>