2015-07-25 3 views
1

У меня есть некоторые html-формы, которые имеют входы выбора, которые могут иметь несколько выбранных значений. Когда я отправляю их в свою службу Restlet, я использую только текущее выбранное значение. Я знаю, что если бы это был простой сервлет, я мог бы использовать request.getParameterValues ​​(... для доступа к массиву выбранных значений, но я не могу найти эквивалент в Restlet. Из того, что я могу сказать, запрос на JsonRepresentation, но я не вижу, эквивалентный метод доступа к значениям параметров.Как получить значения из multi select with restlet

кто-нибудь знает способ сделать это с Restlet2.x?

ответ

1

на самом деле, это зависит от того, как вы размещаете форма от клиента. Ваш вопрос позволяет мне подумать, что вы используете кодированную форму URL (Content-Type: application/x-www-form-urlencoded).

В этом случае вы можете извлечь предоставленные данные, используя класс Form Restlet, как описано ниже:

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"); 
     (...) 
    } 
} 

Надеется, что это помогает, Тьерри

Смежные вопросы