通常の状況では、フロントエンドを通過するパラメーターはSpringMVCが直接受信できますが、日付オブジェクトなどの特別なケースもあります。日付がフロントエンドから送信される場合、サーバーはパラメーターバインディングをカスタマイズし、フロントエンドの日付を変換する必要があります。カスタムパラメーターバインディングも非常にシンプルで、2つのステップに分かれています。
1。カスタムパラメーターコンバーター
カスタムパラメーターコンバーターは、次のようにコンバーターインターフェイスを実装します。
パブリッククラスDateConverterはConverter <String、date> {private simpledateFormat simpledateFormat = new SimpledateFormat( "yyyy-mm-dd"); @Override public date convert(string s){if( "" .equals(s)|| s == null){return null; } try {return SimpledateFormat.Parse(s); } catch(parseexception e){e.printstacktrace(); } nullを返します。 }}Convertメソッドは、フロントエンドから送信された日付文字列である文字列パラメーターを受信します。この文字列は、yyyy-mm-dd形式を満たし、この文字列を日付オブジェクトに変換し、simpledateformatを介して戻ります。
2。コンバーターを構成します
カスタムWebMVCCONFIGはWebMVCConFigurerAdapterを継承し、AddFormattersメソッドで構成します。
@configurationpublic class webmvcconfig extends webmvcconfigureradapter {@override public void addformations(formatterregistry registry){registry.addconverter(new DateConverter()); }}OK、上記の2つのステップの後、フロントエンドから文字列の日付を受け取り、Javaの日付オブジェクトに変換できます。フロントエンドの日付コントロールは次のとおりです。
<el-date-picker v-model = "emp.birthday" size = "mini" value-format = "yyyy-mm-dd hh:mm:ss" type = "date" placeholder = "date of birt of birt"> </el-date-picker>
サーバーインターフェイスは次のとおりです。
@RequestMapping(value = "/emp"、method = requestmethod.post)public respbean addemp(従業員従業員){if(empservice.addemp(employee)== 1){return new respbean( "success"、 "add succuse!"); } new respbeanを返します( "error"、 "add failed!");}従業員には誕生日と呼ばれる属性があり、この属性のデータ型は日付です