映射多个请求参数

时间:2010-08-22 12:32:21

标签: 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"; 
}

我收到此错误

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

2 个答案:

答案 0 :(得分:5)

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

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

如果您添加required = "false",则该方法中分配给lname的变量将为null,因此请在代码中注意这一点。

有关更多信息,请查看Spring MVC documentation的相关部分。

答案 1 :(得分:0)

您的请求URI是什么?

抛出MissingServletRequestParameterException,因为没有类型为String的请求参数,名称为lname以绑定到变量lastName