問題タブ [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.

0 投票する
0 に答える
254 参照

java - フォームおよび propertyEditor の事前選択オプション

フォームを使用して Web アプリケーションで Spring を使用していますが、現在は問題なく動作していますが、1 つのことを変更したいのですが、そのときにエラーが発生します。2 つのテキスト フィールドと 1 つの選択オプション フィールドを含む小さなフォームがありますが、この選択フィールドがエラーの原因です。選択オプションはデータベースから取り込まれます。

私のコード: edit.jsp

コントローラー.java

私の editor.java

既存の投稿を編集するときに、親をフォームで事前に選択したいのですが、これはうまくいきません。

私を助けてくれる人はいますか?お時間をいただきありがとうございました。意味があることを願っています。ありがとうございました。

*EDIT*** エディターをフォーマッターに変更しましたが、うまくいきませんでした:

しかし、オブジェクトを編集してもドロップダウンに既存の値が表示されません。編集オブジェクトのプリントに関する私のプリントアウト:

私は何を間違っていますか?!? (後でこれにバリデーターを追加したいと思います。これが、エディターからフォーマッターに変更する理由です)

0 投票する
1 に答える
1523 参照

java - SpringMVC initbinder - Integer 形式のバインディング リスト項目

カスタム アイテムのリストを含むページがあります。コントローラの init バインダーにカスタム エディターを登録して、データ バインディングを許可します。リストはビューから渡されます。私が抱えている問題は、別のオブジェクトにバインドされているビューにいることです。ただし、両方のオブジェクトには共通の CrimeRecNo の属性があります。

データがビューからカスタム オブジェクト リストのコントローラーに渡されるときにバインダー関数を作成しましたが、整数を受け取ってリストを返すバインダーを作成したいと考えています。以下は私がこれまでに持っているものの例ですが、拘束力はありません:

整数の CrimeRecNo を受け取り、リストを返し、それをリストにバインドするカスタム エディターを登録する方法を知る必要があります。

バインダー機能

これは拘束力がないだけです

エラー

0 投票する
1 に答える
1978 参照

java - String から Enum への変換のために initBinder メソッドが呼び出されていない

Web リクエスト中にオブジェクトを適切なオブジェクトに変換@InitBinderできるように、注釈をテストしています。StringEnum

次の単純なものを作成しましたEnum

SampleEnum.java

次に、コードPropertyEditorSupportから呼び出されるように拡張するエディターを作成しました。@InitBinder

EnumPropertyEditor.java

次に、コントローラーに@InitBinderと単純なリクエスト マッピングを追加しました。

コントローラ

SampleEnum私の理解では、このコントローラ メソッドのリクエストでは、文字列値をオブジェクトに変換しようとする必要があります。ただし、initBinder、リクエスト マッピング メソッド、またはEnumPropertyEditor.

私は FireFox で RESTClient を使用してテストしており、リクエスト本文「THREE」を送信しようとしましたが、これは機能すると予想されます。代わりに、リクエスト本文の内容に関係なく、415 エラーが発生します。(リクエスト エンティティが、リクエストされたメソッドのリクエストされたリソースでサポートされていない形式であるため、サーバーはこのリクエストを拒否しました ()。)

の代わりに文字列を受け取るようにリクエスト マッピングを変更するSampleEnumと、postSampleEnumが呼び出され、カスタム エディターは使用されません (予想どおり)。

カスタム エディター コードを呼び出せるようにするものが不足していますか? これをデバッグし続ける最善の方法は何ですか?

0 投票する
1 に答える
3691 参照

spring-mvc - Spring MVC 3: CustomDateEditor は機能しているが、検証エラー (BindingResult) がある

結果のWebページのような空の日付でフォームを送信すると、検証エラーが表示されるという問題があります。

私のコントローラーは次のようになります。

メソッドをデバッグすると、オブジェクトが正常であることがわかります。行った変更は適切に報告され、日付は null ですが、bindingResult.hasErrors() は true を返し、私によればそうすべきではありません。

Program オブジェクトと @Valid アノテーションにいくつかの検証アノテーションがありましたが、それらをすべて削除してもまだ問題があります。

私は同様の問題をたくさん読みましたが、解決策は@InitBinder/CustomDateEditorです。そこにあり、機能していると思います。日付は希望どおりに表示され(追加する前はそうではありませんでした)、空でない場合は送信できます。

前もって感謝します、私は夢中になり始めています...

0 投票する
1 に答える
782 参照

java - Spring Framework (Java) サーブレットの拡張

Spring Framework (MVC) を使用する Java Web アプリに取り組んでいます。すべてのコードは、サーブレットによってインスタンス化されるコントローラー ファイルにあります。サーブレットでコードを実行できるように、サーブレットを拡張したいと考えてinitいます。ただし、Spring Framework と Java Web 開発全般については、まったくの初心者です。サーブレットを拡張する方法、派生したサーブレットをどこに配置するかなど、わかりません。誰かがこれについて正しい方向に向けることができますか?

0 投票する
1 に答える
5081 参照

spring - 複数の initBinders を定義する方法

単一のコントローラー内に複数の initBinder メソッドを持つことは可能でしょうか? 各 InitBinder() (コードを参照) が一意のリクエスト ハンドラーに依存する場所、たとえば initBinder() は URL: "/update/account" で呼び出され、initBinderOne() は "update/account/pass" で呼び出されますか?

複数のコントローラーではなく、すべての更新に対して単一のコントローラーを使用することをお勧めします。お知らせ下さい。