Сопоставить несколько параметров запроса - PullRequest
1 голос
/ 22 августа 2010

Я отправляю два параметра, используя GET (через URL), и я хотел бы, чтобы мой метод запроса получил их следующим образом ...

Вот контроллер:

@RequestMapping("/basketItems")
public String basketItems(
    @RequestParam("fname") String firstName, 
    @RequestParam("lname") String lastName, 
    Model model) {

    Customer customer = customerManager.getCustomer(firstName, lastName);
    Basket basket = basketManager.getBasket(customer.getReferenceNumber());

    model.addAttribute("basket", basket);
    model.addAttribute("totalItems", basketManager.getTotalNumberOfItems(basket));
    model.addAttribute("totalPrice", basketManager.getTotalProductPrice(basket));

    return "basketItems"; 
}

Iполучить эту ошибку

org.springframework.web.bind.MissingServletRequestParameterException:Required java.lang.String parameter 'lname' is not present

Ответы [ 2 ]

5 голосов
/ 22 августа 2010

В вашем HTTP-запросе отсутствует параметр lname. Либо включите этот параметр в запрос, либо поместите required = "false" в аннотацию для lname:

@RequestParam(value="lname", required="false")

Если вы введете required = "false", тогда в этом методе переменная, присвоенная lname, будет null, поэтому помните об этом в своем коде.

Для получения дополнительной информации см. Соответствующую часть Spring MVC документации .

0 голосов
/ 22 августа 2010

Какой у вас запрос URI?

Отсутствует MissingServletRequestParameterException, поскольку отсутствует параметр запроса типа String с именем lname для привязки к переменной lastName

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...