我有一个html表单,其中包含这样的元素
<input type="text" value="Val1" name="Name1"/>
<input type="text" value="Val2" name="Name2"/>
<input type="hidden" value="Val3" name="Name3"/>
在服务器端,我使用Jersey实现来捕获表单名称和值。有没有办法在像这样的单个地图中捕捉上述所有内容
Name1 ==&gt; VAL1 Name2 ==&gt; VAL2 Name3 ==&gt; VAL3
据我所知,使用@FormParam,我可以捕获变量中的表单值。但我需要捕获表单元素名称以及值。
感谢任何帮助。
答案 0 :(得分:7)
为您的方法提供类型为MultivaluedMap<String,String>
的参数。需要实现为此类型提供MessageBodyReader
响应媒体类型application/x-www-form-urlencoded
(规范的§4.2.4)。如下所示:
@POST
@Consumes("application/x-www-form-urlencoded")
public Response foo(MultivaluedMap<String, String> form) {
...
}
答案 1 :(得分:0)
仅供参考 - 您也可以使用com.sun.jersey.api.representation.Form而不是MultivaluedMap - 它本质上是相同的。