我正在使用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
答案 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