これはinitバインダーのインターネット上のコードです
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
誰でも説明してください:
1)なぜ使用されているのか、つまり、以前は何が問題だったのか、その機能でどのように解決されたのか。この日付形式で解決された元の日付の問題は何ですか?
2)JSP形式の観点からこの形式を使用する方法、つまり、テキスト形式で日付を入力すると、特定の形式に変換されて保存されますか?
3)そのフォーマットをどのように適用しますか、つまり、オブジェクトクラスで何かをする必要がありますか?
1)以前は、手動で日付を解析する必要がありました。
public void webmethod(@RequestParam("date") String strDate) {
Date date = ... // manually parse the date
}
これで、解析された日付を直接取得できます。
public void webmethod(@RequestParam("date") Date date) {
}
2)jsp
ページがyyyy-MM-dd
の形式で日付を提供している場合は、Date
オブジェクトとしてコントローラーで直接取得できます。
3)Springは、すべての登録済みエディターに対して、値をオブジェクトに変換できるかどうかを確認しようとします。オブジェクト自体で何もする必要はありません。それが美しさです。