Как получить значения из мульти выбора с помощью рестлета
У меня есть несколько HTML-форм, которые имеют выбранные входы, которые могут иметь несколько значений. Когда я отправляю их в мой сервис Restlet, я выбираю только текущее значение. Я знаю, что если бы это был простой сервлет, я мог бы использовать request.getParameterValues (... чтобы добраться до массива выбранных значений, но я не могу найти эквивалент в Restlet. Из того, что я могу сказать, сервис отображает запрос к JsonRepresentation, но я не вижу эквивалентного метода для доступа к значениям параметра.
Кто-нибудь знает способ сделать это с Restlet2.x?
1 ответ
На самом деле, это зависит от того, как вы отправляете форму от клиента. Ваш вопрос позволяет мне думать, что вы используете закодированную форму URL (Content-Type: application/x-www-form-urlencoded
).
В этом случае вы можете извлечь представленные данные, используя класс 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");
(...)
}
}
Надеюсь, это поможет тебе, Тьерри