我正在尝试创建一个从多选复选框 html 组件接收参数列表的方法。但是,它只是行不通。
我测试过:
@POST..
.. myMethod(@FormParam String [] myCheckboxAttribute)
.. myMethod(@FormParam List<String> myCheckboxAttribute)
这些都不是很好(最后一个(列表)只选中了第一个复选框,但其他没有)。
有什么想法?
我正在尝试创建一个从多选复选框 html 组件接收参数列表的方法。但是,它只是行不通。
我测试过:
@POST..
.. myMethod(@FormParam String [] myCheckboxAttribute)
.. myMethod(@FormParam List<String> myCheckboxAttribute)
这些都不是很好(最后一个(列表)只选中了第一个复选框,但其他没有)。
有什么想法?
您必须在 @FormParam 注释中指定表单参数的名称。
这是一个对我有用的例子:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public String postForm(@FormParam("param") List<String> param) {
return param.toString();
}
HTML 表单:
<html><body>
<form action="http://localhost:9998/myresource" method="POST">
<input type="checkbox" name="param" value="a">A</input>
<input type="checkbox" name="param" value="b">B</input>
<input type="checkbox" name="param" value="c">C</input>
<input type="submit">OK</input>
</form>
</body></html>
提交带有 B 和 C 选中的表单会打印出:
[b, c]
我还在调试器中验证了该列表填充了 2 个字符串 b 和 c。