我需要有一个/jsp/login 和/jsp/login?error 的映射
请注意,我无法使用/jsp/login?error=someval 然后检查参数是否具有该值或默认值。在这种情况下,不允许在参数后面添加 =。
这对于 spring 来说可行吗?
为了澄清上述内容,我已经有了代码:
@RequestMapping("/jsp/login")
public String login(@RequestParam(value = "error", required = false) String error, Map<String, Object> model) {
if(error != null && !error.isEmpty()) {
model.put("message", "wrong user id or password");
}
return "login";
}
因此,请求/jsp/login 和/jsp/login?error 都被映射为 error = null,因为 required = false。如果 url 类似于/jsp/login?error=yes
,则错误 != null要求:即使/jsp/login?error 没有任何参数值,error != null
最佳答案
是的,这是可能的
@RequestMapping (value = "/jsp/login", method = RequestMethod.GET)
public String showLoginWindow(@RequestParam(value = "error", required = false) String errorStr) throws LoginException {...}
重要的部分是required = false
,因此如果您调用/jsp/login
,errorStr 的值为 null。
关于java - 请求参数为空的路径的 RequestMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52210500/