映射多个请求参数

son*_*onx 1 java spring-mvc

我正在使用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"; 
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

org.springframework.web.bind.MissingServletRequestParameterException:Required java.lang.String parameter 'lname' is not present
Run Code Online (Sandbox Code Playgroud)

Noe*_*l M 5

您的HTTP请求没有参数lname.要么在请求中包含该参数,要么将required = "false"注释放在lname:

@RequestParam(value="lname", required="false")
Run Code Online (Sandbox Code Playgroud)

如果放置required = "false",则分配给的变量lnamenull在该方法中,因此请在代码中注意这一点.

有关更多信息,请查看Spring MVC文档的相关部分.