1

SpringMVC3を使用してアプリケーションを設計しています。データテーブルとユーザーがあり、JSPデータテーブルに行を追加できるJSPページを作成する必要があります。私は次の2つのオプションを検討していました。

  1. javascript関数を使用して「行の挿入」ボタンに行を追加するには
  2. [行を挿入]ボタンでフォームを送信するには、[コントローラー]に移動し、追加の行を含むモデル属性を返します。

Javaスクリプトのアプローチでは、行を追加できますが、これらの行はサーバー側でバインドされていません...助けてください。コントローラアプローチを使用してこれをどのように達成できますか..できるだけ早くヘルプをお願いします...ありがとう:)

jQueryやその他のjavascriptライブラリは使用できないことに注意してください。

4

1 に答える 1

2

私はこれを使用して達成しましたLazyList。各行のデータを表す別のモデルクラスのオブジェクトのリストを保持するレイジーリストオブジェクトをモデルに含める必要があります。以下は、モデルクラスでLazyListを宣言するための構文です。

private List<OperationParameters> operationParameterses = LazyList
            .decorate(new ArrayList<OperationParameters>(),
                    FactoryUtils.instantiateFactory(OperationParameters.class));

また、OperationParametersは、1つのオブジェクトが1つの行を表す単純なpojoクラスです。

modelAttributeクラスにこのレイジーリストを作成したら、jspで、単純なhtml入力タグを使用してOperationParameterspojoの各プロパティのコントロールを作成する必要があります。これらのコントロールをpojoにバインドするためにspringformtaglibを使用することはできません。次のように、各入力タグの名前を指定する必要があります。

<input type='text' id='operationParameterses0.inputOutputParamName' name='operationParameterses[0].inputOutputParamName'/>

ここで、nameおよびid属性の「0」は、リストのインデックスを表します。これで、フォームを送信すると、挿入された行をLazyListオブジェクトのpojoにバインドできます。

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

乾杯。

于 2012-10-22T09:55:52.150 に答える