Spring MVC:3つのドロップダウンをSimpleFormControllerの日付プロパティにバインドする

StackOverflow https://stackoverflow.com/questions/161485

  •  03-07-2019
  •  | 
  •  

質問

3つのドロップダウン(日付、月、年)を単一のDateプロパティにバインドして、「プロパティごとの単一要求パラメーター」シナリオで機能するようにクラスを構成するにはどうすればよいですか? initBinderメソッドをオーバーライドして、カスタムPropertyEditorsを追加する必要があると思います。他に何ですか?

役に立ちましたか?

解決

Aleksey Kudryavtsev:コントローラーでonBindメソッドをオーバーライドできます。これは、コマンドオブジェクトで特別な何かをいじることができません。たとえば

dateField = new SimpleFormat("YYYY-mm-dd").parse(this.year + "-" + this.month + "-" this.day);

または:

Calendar c = Calendar.getInstance();
c.set(year, month, day);
dateField = calendar.getTime();

しかし、JavaScriptで検証を行い、利用可能な日付選択コンポーネントを使用したいのですが、たくさんあります...

他のヒント

フォームに非表示の入力を作成し、ユーザーが日付を選択したときにJavaScriptを使用して入力し、コマンドオブジェクトでこの入力にバインドできます。

おそらく、日付の正確さをチェックするなどの目的でJavaScriptを使用することになるため、1つのパラメーターですぐに使用できる日付をフォーマットしないでください。

次に、文字列" 2008-05-20"から変換するプロパティエディタを登録する必要があります。日付オブジェクト。

その後、コマンドオブジェクトに年、月、日という3つのフィールドがあり、日付チェックに標準のスプリング検証を使用します

試したことはありませんが、 JodaライブラリのMutableDateTime 。 3つのフィールドすべてに個別のセッターとゲッターがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top