在我的Spring 3 MVC webapp中,我需要能够访问所有提交的表单字段。
通常,我知道表单中存在哪些表单字段,并使用@RequestParam
但我正在处理的这个表格不知道会发生什么。所以我知道的唯一方法似乎是做一个@RequestBody
并处理传入的POST数据。我的表单可能包含数组。例如。我的@RequestBody可能看起来像
id=1&q1_selectMultiple[]=1&q1_selectMultiple[]=2&q_2=&q_3=&Submit=Submit
因此,要处理上面的字符串,我需要先将整个字符串拆分为'&'然后在其中再次查找另一个数组,如q1_selectMultiple []并解析它。
使用像Spring这样的框架时,这似乎有很多工作。
有更好的方法吗?
PS:我看了@ModelAttribute
。我不认为我可以在我的情况下使用它,因为表单是由一个控制器创建的,并且响应由不同类的完全不同的控制器处理。
答案 0 :(得分:2)
也许我不理解您的问题,但我认为使用任何标准的ServletResponse方法(如getParameterMap())会更简单。这个返回一个Map,其中包含所有提交的参数名称/值对。