Как получить значения из мульти выбора с помощью рестлета

У меня есть несколько 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");
        (...)
    }
}

Надеюсь, это поможет тебе, Тьерри

Другие вопросы по тегам