【问题标题】:How to get values from multi select with restlet如何使用restlet从多选中获取值
【发布时间】:2015-10-16 09:36:50
【问题描述】:
我有一些 html 表单,其中包含可以选择多个值的选择输入。当我将它们发布到我的 Restlet 服务时,我只有当前选择的值。我知道如果这是一个普通的 servlet,我可以使用 request.getParameterValues(... 来获取选定值的数组,但我似乎无法在 Restlet 中找到等价物。据我所知,服务映射请求 JsonRepresentation 但我没有看到访问参数值的等效方法。
有谁知道使用 Restlet2.x 的方法吗?
【问题讨论】:
标签:
java
html
forms
restlet-2.0
【解决方案1】:
实际上,这取决于您从客户端发布表单的方式。您的问题让我认为您使用的是 URL 编码形式 (Content-Type: application/x-www-form-urlencoded)。
在这种情况下,您可以使用Restlet的Form类提取提交的数据,如下所述:
public class MyServerResource extends ServerResource {
@Post
public void handleForm(Form myForm) {
// Equivalent from request#getParameterValues for Servlet
String[] values = myForm.getValuesArray("mykey");
(...)
}
}
如果要获取查询参数,只需使用getQuery方法获取关联的表单对象即可:
public class MyServerResource extends ServerResource {
@Post
public void handleForm(Form myForm) {
// Equivalent from request#getParameterValues for Servlet
String[] values = getQuery().getValuesArray("mykey");
(...)
}
}
希望对你有帮助
蒂埃里