2017-06-22 6 views
-1

私は、フォームクラス投稿するとき、私は春ブーツRequestParamクラスブート春常にnull

私の問題を使用しています(VehicleBrand、など。)常にnullが、他(vinNumber、プレート)がnullでない..です

どのように私はそれを修正することができます。..

おかげ

コントローラ

@Transactional 
    @PostMapping 
    String vehicleAddSubmit(
      @RequestParam String plate, 
      @RequestParam String vinNumber, 
      @RequestParam VehicleBrand vehicleBrand 
    ){ 
     Vehicle vehicle = new Vehicle(); 
     vehicle.setVehicleBrand(vehicleBrand); 
     vehicle.setEngineNumber(engineNumber); 
     vehicle.setVinNumber(vinNumber); 
    } 

表示

 <form th:attr="[email protected]{${#mvc.url('VC#vehicleAddSubmit').build()}}" method="post" class="form-horizontal"> 
      <input type="text" class="form-control" name="plate" placeholder="Plaka"/> 
     <input type="text" class="form-control" name="vinNumber" placeholder="Şase"/> 
     <select id="vBrand" name="vehicleBrand" class="form-control"> 
      <option value="">Marka Seçin</option> 
      <option value=""></option> 
      <option th:each="vBrand : ${vBrands}"               
        th:value="${vBrand.id}"                
        th:text="${vBrand.name}"> 
      </option> 
    </select> 
</form> 

答えて

0

@ReqeustParamが異なって動作します。 Springのドキュメントのスニペットについては、@RequestParam

注釈は、メソッドパラメータをWebリクエストパラメータにバインドする必要があることを示します。

POSTリクエストの場合、Model/Objectを取得するには@RequestBodyが必要です。春はあなたのために変換を行います。ここでも、Springのドキュメンテーションの別のスニペットについてです。@RequestBody

メソッドパラメータがWebリクエストのボディにバインドされていることを示す注釈です。リクエストの内容はHttpMessageConverterに渡され、リクエストのコンテンツタイプに応じてメソッドの引数を解決します。

@PostMapping 
String vehicleAddSubmit(@Request VehicleForm vehicleform){ 
    //do that you need to do with this vehicle form here. 
} 

あなたはこのVehicleFormに必要なすべてのフィールドを含めます。

詳細については、Springのドキュメントを参照してください。

関連する問題