Spring 异常 : MethodArgumentTypeMismatchException
java哥
阅读:89
2025-06-02 22:19:02
评论:0
我得到一个我不明白的异常。我有一个 Controller ,它给了我一个新闻对象,它出现在控制台中,所以获取实际的新闻对象不是问题,
@RequestMapping(value ="/viewonestatus/{id}")
public ModelAndView viewOneStatus(@PathVariable("id") Long id) {
System.out.println("!!!!!! STATUSUPDATECONTROLLER: viewOneStatus : Empezamos con el ID del Anuncio: " + id);
StatusUpdate status = statusUpdateService.get(id);
ModelAndView modelAndView = new ModelAndView();
System.out.println("!!!!!! STATUSUPDATECONTROLLER: viewOneStatus : Empezamos con el ID del Anuncio: " + status);
modelAndView.getModel().put("status", status);
modelAndView.setViewName("viewonestatus");
return modelAndView;
}
....但是当尝试执行 JSP 时,它给了我以下错误,即使 JSP 几乎是空的,比如....
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
hello world
Exception: Exception: org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type [java.lang.String] to required type [java.lang.Long]; nested exception is java.lang.NumberFormatException: For input string: "viewonestatus"
Failed URL: http://localhost:8080/viewonestatus/viewonestatus
Exception message: Failed to convert value of type [java.lang.String] to required type [java.lang.Long]; nested exception is java.lang.NumberFormatException: For input string: "viewonestatus"
非常感谢您的帮助
请您参考如下方法:
@RequestMapping(value ="/viewonestatus/{id}")
public ModelAndView viewOneStatus(@PathVariable("id") Long id)
在这里,您声明了一个名为“id”的路径变量,并将其类型声明为 Long。 接下来你调用 url:
http://localhost:8080/viewonestatus/viewonestatus
第二个“viewonestatus”显然不是 Long 类型,这就是 spring 抛出异常的原因,因为它不能将“viewonestatus”转换为 Long
你的请求应该是这样的
http://localhost:8080/viewonestatus/12321
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



