Java Spring:客户端发送的请求在语法上不正确()
嗨,我在重定向过程中收到下一个错误: 客户端发送的请求在语法上不正确 浏览器显示的URL是:Java Spring:客户端发送的请求在语法上不正确(),java,spring,spring-mvc,Java,Spring,Spring Mvc,嗨,我在重定向过程中收到下一个错误: 客户端发送的请求在语法上不正确 浏览器显示的URL是:localhost:8080/Project/menu/main/home/0,这里是我的类,第一个重定向为“from”,第二个重定向为“to”: 二等舱: @Controller @SessionAttributes("menu") public class FirstPageController { @ModelAttribute public Menu createMenu() {
localhost:8080/Project/menu/main/home/0
,这里是我的类,第一个重定向为“from”,第二个重定向为“to”:
二等舱:
@Controller
@SessionAttributes("menu")
public class FirstPageController {
@ModelAttribute
public Menu createMenu() {
return new Menu();
}
@RequestMapping(value = "/menu/main/{subMenu}/{secMenu}", method = RequestMethod.GET)
public ModelAndView menuResolver(@PathVariable String mainMenu, @PathVariable String subMenu,@PathVariable String secMenu, @ModelAttribute("menu") Menu menu) {
menu.setMainMenu(mainMenu);
menu.setSubMenu(subMenu);
menu.setSecMenu(secMenu);
if (menu.getSubMenu().equals("home")){
String title = "Project - Home Page";
return new ModelAndView("MainPage", "title", title);
}
String title = "Project - Home Page";
return new ModelAndView("MainPage", "title", title);
}
}
已解决:我解决了它,在第二个类的方法中有多余的参数。在这种情况下,在
log4j配置中将org.springframework.web
loggin级别设置为DEBUG
非常有用
<logger name="org.springframework.web">
<level value="DEBUG" />
...
</logger>
...
例如,当参数丢失或无法转换为所需类型时,日志中将出现异常详细信息。在我的情况下,此错误的原因是浏览器(Chrome,在我的特殊情况下)正在以错误的格式将日期从
发送到服务器,因此服务器不知道如何解析它。如前所述,使用详细日志有助于我找到解决方案。在我的例子中,没有指定名称的@PathVariable与变量本身不匹配
大概是这样的:
@RequestMapping("/user/{uname}")
public String doSomething(@PathVariable String username) { ...
注意“uname”和“username”之间的区别!
内部有一个异常没有引发,我在将日志设置为信息级别之前无法看到它。在我的情况下,这也是一个转换问题,Spring需要一个整数,但我输入了一个字符串。尝试检查您作为参数传递给控制器的内容我解决了它,在第二个类的方法中有多余的参数。您可以将您的解决方案作为答案发布,然后接受它,这将有所帮助community@user1640210,发布解决方案并接受它将帮助社区,正如serkan所说,让人们不要浪费时间阅读已经解决的问题。我也是这样。你是如何解决你的错误的?
@RequestMapping("/user/{uname}")
public String doSomething(@PathVariable String username) { ...