問題タブ [spring-mvc-initbinders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Thymeleaf は initbinder customEditor よりも toString を好むようです
LocalDateTime オブジェクトを特定の形式 (yyyy/MM/dd HH:mm) で thymeleaf に渡し、後でそれをコントローラー クラスに戻したいと考えています。customEditor / initbinder を使用して変換を行いたいです。
Spring はフォームからデータを受け取るときに initbinder を使用しますが、thymeleaf は initbinder よりも .toString() メソッドを好むようで、getAsText() メソッドが呼び出されることはありません。
私の見解:
コードの読みやすさという点では、initbinder の「方法」は非常に優れていると思います。だから私はinitbinderを使い続けたいと思います。thymeleaf に initbinder またはその他の適切な回避策を使用するように指示することは可能ですか?
spring-mvc - @InitBinder で注釈が付けられたメソッドを静的としてマークできますか?
ドキュメントとオンラインのいくつかの例を見ると、@InitBinder
これらのメソッドがstatic
. 私の IDE は、それらを としてマークできると主張していますstatic
。そうしている間にエラーは表示されません。概念的には、この方法でマークできると思います。
そうすることの欠点はありますか?メソッドが値を返してはならないことを理解しています。
spring-mvc - thymeleaf の Calendar オブジェクトを日付として表示する
これは私の前の投稿の続きです
タイムリーフフォームのカレンダーオブジェクトを日付型として表示する
私は以前の投稿で与えられた提案を取り入れ、それに取り組みました。そこで問題の説明を更新したくありませんでした。
ユーザー オブジェクトがあり、ユーザーにはフィールド DOB (生年月日) があり、そのフィールドをユーザー BO 内のカレンダーとして保存しました。
このようなもの:
ここで、このフィールドをテキスト フィールドではなく thymeleaf の日付フィールドとして表示する必要があります。日付ピッカーが好きなので、日付フィールドが必要です:)
これは私がこれまでに持っているものです
前の投稿で提供された提案を使用して、上記のように変更しましたが、以下のエラーが発生しました
コントローラーコード
java - リクエストごとに @InitBinder メソッドが呼び出されるのはなぜですか?
@InitBinder
Spring Boot アプリケーションをデバッグしているときに、 で注釈が付けられたメソッドが着信リクエストごとに呼び出されることに気付きました。
@InitBinder
メソッドでは、 a をバインダーに設定してPropertyEditor
います。なぜこれらのメソッドを何度も呼び出して同じものを設定する必要があるのか わかりません。Spring はリクエストごと
に新しいオブジェクトを作成しますか?WebDataBinder