2

簡単な質問かもしれませんが、初心者です。

私は Spring MVC 3.0 で作業しています。モデル オブジェクトが jsp フォームにマップされています。

ユーザーがフォームを送信したら、モデルオブジェクトをコントローラーに戻したいです。

JSPページにはラベルしかなく、次のように設定しました

<td>First name : </td> 
<td>
    <form:label path="RegisterInterest.firstName">${RegisterInterest.firstName}</form:label> 
</td>

これが私RegisterInterestのモデルオブジェクトです。

firstNameユーザーがページを送信した後に値を再開したい。ラベルにパスを設定し、値をコントローラーに送り返すことは可能ですか?

私にとって最も簡単な解決策であるセッションにモデルを保持することによって、私はそれに対する1つの解決策を持っていますが、この場合はセッションを使用したくありません! また、隠しタグを使用することもできますが、JSP には多くのフィールドがあります。

ありがとう。

4

2 に答える 2

0

例を挙げます:

public class FormInput{
@NotNull(message="Name can't be null")
private name;
@NotNull(message("Age can't be null")
private age;
    etc etc

このようなクラスを作成すると、フォームから出力されるすべてのデータが保持され、そのクラスが次のように @ModelAttribute として渡されます。

@ModelAttribute(FormInput);
model.addAttribute(FormInput);
return new ModelAndView(model, form.jsp);

.jsp ファイルについては、このサイトを見て使用方法を確認し、春の .jsp http://static.springsource.org/spring/docs/3.0.x/reference/view.htmlで確認してください。

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> .jsp の先頭に追加することを忘れない でください

POST が呼び出されたときに使用@Validして、すべてのフィールドを自動的に検証できます。呼び出すbindingResult.hasErrors()と、何もコーディングしなくてもフォームのフィールドにエラー メッセージが出力されます。

タグに指定する名前が、クラス フィールドに付ける名前と一致していることを確認してください。

于 2013-05-09T03:50:23.070 に答える