0

@ModelAttribute を使用して、フォーム変数をクラス (データベース内のテーブルを表す) に「キャスト」しましたが、これは非常にうまく機能しました。

しかし、私は別のフォームに取り組んでおり、フォームにデータベース内のデータを表さない隠しフィールドが必要です。コードのビジネス ロジック セクションに渡すだけです。

関数でこの非表示フィールドにアクセスするにはどうすればよいですか? テーブルクラスを編集してこの新しいフィールドを追加したくありません。プログラミングが悪いようです。また、フォーム内のすべてのフィールドを含む新しいクラスを作成できることはわかっていますが、それが最善の方法であるかどうかはわかりません。

ありがとう!:)

これらは私が今持っているものです(テーブルフィールドしかありませんが機能します)。

私のjspページ

<form:form modelAttribute="fab" method="post" action="SaveEventRegistration.html">

フォーム送信を受け入れるための私のJavaコード

@RequestMapping("/SaveEventRegistration")
public ModelAndView saveEventRegistration(@ModelAttribute Fab fab) {
        System.out.println(fab.getStudentId());
4

1 に答える 1

1

テーブルとその pojo を変更する必要はありません。ModelAttribute オブジェクトにバインドできない非表示フィールドの値を取得するには、フォーム内の jsp でその非表示フィールドを html 入力タグで宣言し、必要な値で非表示にするだけです。

コントローラー関数では、パラメーターが必要でありHttpServletRequest request、隠しフィールドの値を取得する必要があります。名前はhdParam withrequest.getParameter("hdParam")です。

これがお役に立てば幸いです。乾杯。

于 2013-02-07T05:38:28.630 に答える