タイプjava.util.Listおよびjava.util.Mapのいくつかのフィールドを持つConfigurationという名前のクラスがあります。
public class Configuration {
List<String> objects;
Map<String, Integer> maps;
// getters, setters...
}
ユーザーがこのフィールドを編集できるjspページがあります。
リストでは問題はありません。入力フィールドにクラスで名前が付けられたフィールドと同じ名前を付けるだけで、春はそれを @ModelAttribute に変換します。
<input type="text" name="objects"/>
<input type="text" name="objects"/>
<input type="text" name="objects"/>
Map にはいくつか問題があります。入力フィールドにキーと値の名前を付ける方法がわかりません。キーと値のように名前を付けると、サーブレットでnullになります。
<input type="text" name="key"/><input type="text" name="value"/>
maps.key や maps.value のように名前を付けている場合、サーブレットで空のマップを取得します
<input type="text" name="maps.key"/><input type="text" name="maps.value"/>
マップのように名前を付けると、スプリング変換エラーが発生します
<input type="text" name="maps"/><input type="text" name="maps"/>
jspからサーブレットにマップを渡す正しい方法は?