【发布时间】:2013-05-01 19:20:06
【问题描述】:
我有一些名为 Configuration 的类,它有一些 java.util.List 和 java.util.Map 类型的字段。
public class Configuration {
List<String> objects;
Map<String, Integer> maps;
// getters, setters...
}
我有一些 jsp 页面,用户可以在其中编辑这些字段。
使用 List 我没有问题,我只是将我的输入字段命名为与类中命名的字段相同,然后 spring 将其转换为 @ModelAttribute。
<input type="text" name="objects"/>
<input type="text" name="objects"/>
<input type="text" name="objects"/>
使用 Map 我有一些问题 - 我不知道如何为我的输入字段命名键和值。当我将它们命名为键和值时,我在 servlet 中得到空值。
<input type="text" name="key"/><input type="text" name="value"/>
我将它们命名为 maps.key 和 maps.value 我在 servlet 中得到空映射
<input type="text" name="maps.key"/><input type="text" name="maps.value"/>
当我像地图一样命名它们时,我得到 spring 转换错误
<input type="text" name="maps"/><input type="text" name="maps"/>
将 map 从 jsp 传递到 servlet 的正确方法是什么?
【问题讨论】:
-
你的意思是把地图从servlet传给jsp吗? jsp 在 servlet 之后得到处理。您通常会将地图设置为 bean,然后使用标记库在 jsp 中呈现 bean 值(地图内容)。
-
不,我的意思是使用带有 post 方法的表单和带有 post 方法和 @ModelAttribute 的控制器将映射从 jsp 传递到 servlet