問題タブ [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 - フォームおよび propertyEditor の事前選択オプション
フォームを使用して Web アプリケーションで Spring を使用していますが、現在は問題なく動作していますが、1 つのことを変更したいのですが、そのときにエラーが発生します。2 つのテキスト フィールドと 1 つの選択オプション フィールドを含む小さなフォームがありますが、この選択フィールドがエラーの原因です。選択オプションはデータベースから取り込まれます。
私のコード: edit.jsp
コントローラー.java
私の editor.java
既存の投稿を編集するときに、親をフォームで事前に選択したいのですが、これはうまくいきません。
私を助けてくれる人はいますか?お時間をいただきありがとうございました。意味があることを願っています。ありがとうございました。
*EDIT*** エディターをフォーマッターに変更しましたが、うまくいきませんでした:
しかし、オブジェクトを編集してもドロップダウンに既存の値が表示されません。編集オブジェクトのプリントに関する私のプリントアウト:
私は何を間違っていますか?!? (後でこれにバリデーターを追加したいと思います。これが、エディターからフォーマッターに変更する理由です)
java - SpringMVC initbinder - Integer 形式のバインディング リスト項目
カスタム アイテムのリストを含むページがあります。コントローラの init バインダーにカスタム エディターを登録して、データ バインディングを許可します。リストはビューから渡されます。私が抱えている問題は、別のオブジェクトにバインドされているビューにいることです。ただし、両方のオブジェクトには共通の CrimeRecNo の属性があります。
データがビューからカスタム オブジェクト リストのコントローラーに渡されるときにバインダー関数を作成しましたが、整数を受け取ってリストを返すバインダーを作成したいと考えています。以下は私がこれまでに持っているものの例ですが、拘束力はありません:
整数の CrimeRecNo を受け取り、リストを返し、それをリストにバインドするカスタム エディターを登録する方法を知る必要があります。
バインダー機能
これは拘束力がないだけです
エラー
java - String から Enum への変換のために initBinder メソッドが呼び出されていない
Web リクエスト中にオブジェクトを適切なオブジェクトに変換@InitBinder
できるように、注釈をテストしています。String
Enum
次の単純なものを作成しましたEnum
:
SampleEnum.java
次に、コードPropertyEditorSupport
から呼び出されるように拡張するエディターを作成しました。@InitBinder
EnumPropertyEditor.java
次に、コントローラーに@InitBinder
と単純なリクエスト マッピングを追加しました。
コントローラ
SampleEnum
私の理解では、このコントローラ メソッドのリクエストでは、文字列値をオブジェクトに変換しようとする必要があります。ただし、initBinder
、リクエスト マッピング メソッド、またはEnumPropertyEditor
.
私は FireFox で RESTClient を使用してテストしており、リクエスト本文「THREE」を送信しようとしましたが、これは機能すると予想されます。代わりに、リクエスト本文の内容に関係なく、415 エラーが発生します。(リクエスト エンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーはこのリクエストを拒否しました ()。)
の代わりに文字列を受け取るようにリクエスト マッピングを変更するSampleEnum
と、postSampleEnum
が呼び出され、カスタム エディターは使用されません (予想どおり)。
カスタム エディター コードを呼び出せるようにするものが不足していますか? これをデバッグし続ける最善の方法は何ですか?
spring-mvc - Spring MVC 3: CustomDateEditor は機能しているが、検証エラー (BindingResult) がある
結果のWebページのような空の日付でフォームを送信すると、検証エラーが表示されるという問題があります。
私のコントローラーは次のようになります。
メソッドをデバッグすると、オブジェクトが正常であることがわかります。行った変更は適切に報告され、日付は null ですが、bindingResult.hasErrors() は true を返し、私によればそうすべきではありません。
Program オブジェクトと @Valid アノテーションにいくつかの検証アノテーションがありましたが、それらをすべて削除してもまだ問題があります。
私は同様の問題をたくさん読みましたが、解決策は@InitBinder/CustomDateEditorです。そこにあり、機能していると思います。日付は希望どおりに表示され(追加する前はそうではありませんでした)、空でない場合は送信できます。
前もって感謝します、私は夢中になり始めています...
java - Spring Framework (Java) サーブレットの拡張
Spring Framework (MVC) を使用する Java Web アプリに取り組んでいます。すべてのコードは、サーブレットによってインスタンス化されるコントローラー ファイルにあります。サーブレットでコードを実行できるように、サーブレットを拡張したいと考えてinit
います。ただし、Spring Framework と Java Web 開発全般については、まったくの初心者です。サーブレットを拡張する方法、派生したサーブレットをどこに配置するかなど、わかりません。誰かがこれについて正しい方向に向けることができますか?
spring - 複数の initBinders を定義する方法
単一のコントローラー内に複数の initBinder メソッドを持つことは可能でしょうか? 各 InitBinder() (コードを参照) が一意のリクエスト ハンドラーに依存する場所、たとえば initBinder() は URL: "/update/account" で呼び出され、initBinderOne() は "update/account/pass" で呼び出されますか?
複数のコントローラーではなく、すべての更新に対して単一のコントローラーを使用することをお勧めします。お知らせ下さい。