我的Spring应用程序中有一个类似下面的方法
@RequestMapping(value = "/search-result-doctors", method = RequestMethod.POST)
public String getDoctorSearchResults(String LastName, String Hospital, String Specialty, String date1, ModelMap model) {
//some logics
return "doctorchannelling/search-result-doctors";
}
进入页面"搜索结果 - 医生"当我按下只需输入URL时,它必须保留在同一页面中。由于它是一个GET请求,我再次使用方法值RequestMethod.GET编写了相同的方法。
@RequestMapping(value = "/search-result-doctors", method = RequestMethod.GET)
public String getDoctorSearchResults(String LastName, String Hospital, String Specialty, String date1, ModelMap model) {
//some logics
return "doctorchannelling/search-result-doctors";
}
由于参数值不可用String LastName,String Hospital,String Specialty,GET请求中的字符串date1我得到例外
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
如何解决此问题
提前致谢
答案 0 :(得分:1)
实际上,您只能定义一种方法来处理GET和POST
@RequestMapping(value = "/search-result-doctors", method = { RequestMethod.POST, RequestMethod.GET })
如果你在某种逻辑的某处获得NPE,只需检查哪些参数为空。
答案 1 :(得分:1)
除了@StanislavL所说的,你应该用@RequestParam(required=false)
注释你的参数,所以
public String getDoctorSearchResults(@RequestParam(required=false) String LastName,@RequestParam(required=false) String Hospital, @RequestParam(required=false) String Specialty, @RequestParam(required=false) String date1, ModelMap model) {
结合@StanislavL给出的方法注释和NullPointer检查,应该给你你想要的东西