获取org.springframework.web.bind.MissingServletRequestParameterException

Vip*_*pul 3 spring spring-mvc

我正在使用spring注释我编写了一种方法

public ModelAndView showTestPage(@RequestParam("firstInstanceId") String id1, 
  @RequestParam("secondInstanceId") String id2, HttpSession  session) {

  ModelAndView mv = new ModelAndView("showCompareItemList");
  mv.addObject("pageTitle", "showCompareItemList");
  mv.addObject("firstInstanceId", id1);
  mv.addObject("secondInstanceId", id2);

  return mv;
 }
Run Code Online (Sandbox Code Playgroud)

当id1和id2的两个值都存在时它工作正常但是当只有一个值时我得到异常org.springframework.web.bind.MissingServletRequestParameterException:必需的java.lang.String参数'secondInstanceId'不存在我试过解决这个问题通过检查null的问题,但我仍然得到这个异常,任何人都可以告诉我,我该怎么做才能避免这种情况?

axt*_*avt 8

如果可能遗漏了请求参数,请将其标记为required = false:

public ModelAndView showTestPage(@RequestParam("firstInstanceId") String id1,    
    @RequestParam(value = "secondInstanceId", required = false) String id2,
    HttpSession session) {
    ...
}
Run Code Online (Sandbox Code Playgroud)