【发布时间】:2019-05-20 00:25:49
【问题描述】:
我尝试通过在 url 中获取 id 来删除用户,但出现错误:
Failed to convert value of type 'java.lang.String' to required type 'int';
nested exception is java.lang.NumberFormatException: For input string:
我将 int id 更改为 String id,但随后 deleteMyUser() 将不起作用,因为它接受整数。
代码:
<a href="/delete-user?id=${user.id}">x</a>
@RequestMapping("/delete-user{id}")
public String deleteUser(@PathVariable("id") int id,HttpServletRequest request)
{
request.setAttribute("mode","MODE_HOME");
userService.deleteMyUser(id);
return "welcome";
}
【问题讨论】:
-
检查哪个是html页面中id参数的值(通过查看html页面的源代码)可能是
a标签的url中id不是数字 -
值有效
-
然后保持
a标签像这样<a href="/delete-user?id=${user.id}">x</a>并将@RequestMapping("/delete-user{id}")更改为@RequestMapping("/delete-user")和@PathVariable("id")更改为@RequestParam("id")
标签: java spring spring-boot request-mapping path-variables