我不会让Spring为你做这件事。我不知道它是否可以那么深。
在你的jsp中,也许你有一个javascript按钮,每次你想添加一个整数(假设Map)为整数添加一个字段。您应该能够设置此字段的name属性,并始终使用某些特定前缀。例如,使用前缀NUMBEROF。然后一个字段将变为,例如,NUMBER_OF_players,其中players是您提供的值。所以输入看起来像:
在您的控制器中,将HttpServletRequest传递给您的处理程序方法并调用getParameterMap()
Map parameterMap = request.getParameterMap();
for (String key: parameterMap.keySet()) {
if (key.startsWith("NUMBER_OF_")) {
parameterKeyList.add(key); // add it to a list of parameters that are going to be
// used for your Configuration instance
// you know this is a good one because it has the prefix
}
}
Map maps = ...;
for (String parameter : parameterKeyList) {
String value = request.getParameter(parameter);
Integer integer = Integer.parseInt(value);
maps.put(parameter, integer);
}
Configuration config = new Configuration();
config.setMaps(maps);我没有添加所有null检查和异常处理,我把它留给你。
您可以让Spring生成Configuration实例的一部分(已知的字段),然后自己完成以上操作。