問題タブ [modelattribute]

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 投票する
1 に答える
363 参照

java - SpringでGetメソッドを使用して値ではなく、URLのキーを非表示にする方法

URL でモデル属性オブジェクトのキーと値のペアを取得しています。これらのキーと値のペアを非表示にするか、値のみにする必要があります。

例: 次の URL を考えてみましょう。

name=ram&std=II&sec=A

この名前、std、および sec は、モデル属性オブジェクト 'StudentDetails' pojo クラスを形成します。以下のような URL が必要です。

ラム/II/A/ゲット

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

java - Spring MVC @ModelAttribute @SessionAttributes - モデル属性に @ModelAttribute アノテーション付きメソッドが必要なのはなぜですか?

これは、すべてが今どのように見えるかです:

addToCart メソッドが初めて呼び出されると、shoppingCart オブジェクトは createShoppingCart メソッドによって初期化されます。addToCart メソッドの実行後、初期化されたオブジェクトがセッションに追加され、後で使用するためにセッションから使用されます。つまり、createShoppingCart メソッドは (セッションから削除されない限り) 1 回だけ呼び出されます。

必要なときにいつでもこのオブジェクトを作成するだけで、Spring が ModelAttribute アノテーション付き初期化メソッドの必要性を排除するのはなぜですか? 次に、すべてが次のように単純になります。

セッションで shoppingCart オブジェクトが見つからない場合は常に、デフォルトのコンストラクターによって初期化されます。その理由は何だと思いますか?

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

java - いくつかのオプションを ModelAttribute Set にマップするにはどうすればよいですか?

ユーザー管理用の簡単な CRUD を作成しようとしています。したがって、2 つの基本的な Bean があります。

新しいユーザーを作成するには、モデル属性として機能するユーザーを使用してフォームを作成しました。

このフォームには 2 つの複数選択があります。

  • ユーザーに追加できる利用可能なプロファイルを表示するもの (これらのプロファイルはデータベースから取得されます)
  • すでにユーザーにバインドされている実際のプロファイルを表示する別のもの (これは新しいユーザーであるため、User オブジェクトのプロファイル セットは空です)

1 人のユーザーにいくつかのプロファイルを追加したい場合、オプションを availableProfiles 選択からプロファイル選択に移動します。

問題は、1 つまたは複数のプロファイルをある選択から別の選択に移動した後にフォームを送信すると、それらのプロファイルをコントローラーにマップできないことです。これはコントローラーメソッドです:

PD: Formatter、CustomCollectionEditor、および PropertyEditor を使用して profileId を Set にバインドしようとしましたが、成功しませんでした。

0 投票する
2 に答える
1639 参照

java - Spring: ModelAndView を返すと ModelAttribute 値が失われる

ModelAndView を返した後に一部の ModelAttribute 値が失われるという問題に直面しています。

例:

ここにすべての統計項目が適切に入力されています。デバッグモードでそれぞれの正しい値を確認できます。すべてがうまくいっているようです:

しかし、JSP ではデータが失われたようです: (NULL 値のみ)

また、非常に奇妙なのは、次のようにフィールドを出力すると、データを受け取ることです: (正しい Float 値)

<form:input>フィールドを解決できないのはなぜですか?


更新 1:

フォーム宣言:

の生成コード<form:input>

更新 2:

StrictFloatPropertyEditor:

this.getValue()常に null です

初期バインダー:

0 投票する
2 に答える
1206 参照

java - Spring MVC でフォームからデータを処理する方法

ブログのすべての投稿を表示するjspがあります

私はそれを処理するためのコントローラーを持っています

ここで、新しい投稿を保存するためのフォームを追加したいと思います。

jspにフォームを追加します

また、コントローラーに追加します。

ドメイン モデル Post.java

しかし、私は得る

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

java - Spring MVC フォームが値を送信しない

解像度

私は今、これを機能させることができました。

nullの結果を引き起こしたのは私自身の見落としでした。フォームを間違ったコントローラーメソッドにマッピングしていたことを指摘してくれた@WillKeelingに感謝します。

フォームを送信するための新しい Role オブジェクトを作成するのではなく、(理由は不明ですが) User オブジェクトを送信するように求めていました。

以下の私の作業中のJSPとコントローラー:

コントローラーのマッピング

元の質問

ここで明らかな何かが欠けているかもしれませんが、誰かが助けてくれることを望んでいました.

私が働いているチームのアクセス管理システムを構築しています。バックエンドでリポジトリに処理できる新しい「ロール」オブジェクトを送信する必要がある jsp (以下のコード) にフォームがあります。

ただし、現時点では、送信をクリックすると、値が「null」であるというログ レポートが報告されます。誰かがこれがなぜなのかを明らかにしてもらえますか?

JSP のフォーム

コントローラ

元のパスは /users で、次のコントローラーがあります。

コンソールでの結果