これをどのように尋ねればよいかさえわかりませんが、試してみます。
私がサポートしている既存のアプリケーションは、動的に生成された一連の値で構成されています。フォームは行と列のマトリックスに分割され、JSP はこの情報を使用して、必要なフォーム (入力) を構築します。フォームを作成するために、次のような Java クラスをいくつか用意しました (ほとんどの場合、私が何をしているのかを理解できるように疑似コードを使用しています)。
class Form {
List<FormParts> parts;
}
class FormParts {
List<FormRow> rows;
List<FormHeader> headers;
}
class FormRow {
String name;
}
class FormHeader {
String name;
}
これらのクラスを使用して、FormParts をループし、FormRows と FormHeaders を使用して form:inputs のテーブルを作成し、カウンターを使用して結果の回答にインデックスを付けることで、JSP で動的にフォームを作成します。
class FormResponse {
List<FormAnswer> answers;
}
class FormAnswer {
int rowNumber;
int headerNumber;
String value;
}
私が抱えている問題はList<FormAnswer> answers
. これはリストであるため、DB から FormResponses をリロードする機能を提供できるようにするために、空のもの (null) も含めてすべての回答を保存する必要があります。これにより、テーブルに大量のジャンク行が作成され、アプリケーションが遅くなります。しかし、約 4 か月前にこれを最初に書いたとき、Spring MVC を Map of Maps にバインドする方法を見つけようとしてしばらく苦労したことを覚えています。いらない答え。問題は、Spring MVC の内部で、これらのリストとマップが LazyList と LazyMap になることだったことを覚えています。
これに対する別の解決策はありますか?