0

検証のために送信されたときにフォーム Bean フィールドがリセットされないようにするにはどうすればよいですか。ここで問題なのは、このフォーム フィールドは JSP の入力フィールドではないということです。このように通常の html テキストとして表示されます。

 <div class="label">
          <fmt:message bundle="${labels}" key="gender" />
 </div>
 <div class="data">
         <bean:write property="gender" name="infoForm"/>
 </div>

何が起こっているかというと、送信ボタンをクリックして検証エラーが発生した場合、他のすべての入力フィールドに再度入力されますが、この 1 つの性別フィールドは表示されません。

私の推測では、ここの性別プロパティは入力フィールドではないため、フォームが検証の前後にリセットされると、性別の値は入力されません。私は正しいですか?もしそうなら、この特定のフィールドをリセットしないようにするにはどうすればよいですか?

4

2 に答える 2

1

この情報が前のページのフォームから取得された場合 (たとえば、単一の大きなフォームが複数のページに分割されているウィザードを実装している場合)、フォームの非表示フィールドを使用して情報を保存し、後続のすべてのフォーム。

これがサーバーからの単なる情報 (たとえば、データベースから、または他の入力フィールドから計算されたもの) である場合は、データベースから情報を再度取得 (または再計算) し、フォームに再度入力する必要があります。

于 2012-06-01T16:25:47.273 に答える
0

この問題を解決するために、同じパラメータを持つ非表示のフォーム フィールドを追加しました...

    <html:hidden property="gender" name="infoForm"/>

検証でリセットした後にフィールド値を保持した...

于 2012-06-01T19:58:46.797 に答える