HTTP状态400 – 必需字符串参数“xx”不存在

我正在尝试制作一个简单的Spring MVC应用程序。

这是我的HelloController

 package com.springapp.mvc; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/") public class HelloController { @RequestMapping(method = RequestMethod.GET) public String printWelcome(ModelMap model,@RequestParam(value = "xx",required =true)String xx) { model.addAttribute("message", "Hello Mahdi"); return "hello"; } } 

JSP文件:

   

${message}

我尝试运行该应用程序时收到以下错误:

 HTTP Status 400 - Required String parameter 'xx' is not present 

我是Spring MVC的新手,请帮忙。

您的用例需要两个操作:

  1. 查看和编辑

  2. 提交

这应该映射到两个处理程序方法

 @RequestMapping(method = RequestMethod.GET) public String getForm() { model.addAttribute("message", "Hello Mahdi"); return "hello"; // assume hello.jsp } @RequestMapping(params={"submit"}, method = RequestMethod.GET) public String printWelcome(ModelMap model, @RequestParam(value = "xx",required=true) String xx) { /* Do something with submitted parameter and return some view name */ } 

如果要访问表单,请对/进行GET。 提交表单时,您也可以对/进行GET,但是您需要其他东西来区分请求。 在这里,我使用了params="submit" 。 因此,您需要将提交输入更改为

 submit 

或者只是放置你已经使用的参数( params={"xx"} )。