Spring的@ModelAttribute注释可以接受哪些目标类型?

时间:2017-10-18 19:28:35

标签: java spring spring-mvc

正如标题所说,在将MVC应用于方法参数时,我可以在Spring MVC的@ModelAttribute注释中使用哪些目标类型?

我知道以下语法(我自己经常使用):

public void finishForm(@ModelAttribute UserInfo info) {
      .......
      return model;
}

这将是表单支持控制器的一部分,其中Spring Databinding正在进行所有解析,然后填充我的自定义对象(UserInfo)。

但在我目前的情况下,使用表单输入填充Java Properties对象或Map<String, String>会更方便。

这是一个有效的用例,你能为@ModelAttribute提供所有目标类型的引用吗?

1 个答案:

答案 0 :(得分:1)

如果您想在地图中输入所有表单输入,可以使用以下内容:

public void finishForm(HttpServletRequest request) {

        Map<String, String[]> userInfo = request.getParameterMap();

        userInfo.keySet().forEach(s -> {
            System.out.println(s + " = "+Arrays.toString(userInfo.get(s)));
        });        
    }