Java 如何将参数从jsp传递到spring mvc控制器

Java 如何将参数从jsp传递到spring mvc控制器,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我的spring mvc控制器有一种方法: @RequestMapping(value = "/search", method = RequestMethod.POST) public ModelAndView search(@RequestParam("cn") String cn) { //do stuff return mav; } 我有一个JSP页面,我想在其中发送字符串cn的值: <html> <head><title&

我的spring mvc控制器有一种方法:

    @RequestMapping(value = "/search", method = RequestMethod.POST)
    public ModelAndView search(@RequestParam("cn") String cn) {
    //do stuff
    return mav;
}
我有一个JSP页面,我想在其中发送字符串cn的值:

<html>
 <head><title>Search Entry</title></head>
 <body>
  <h3>Search entry</h3>
  <a href="search"><input type="text" name="cn" value="search">
   <button type="submit">Search</button>
  </a>
  </body>
</html>

搜索条目
搜索条目
我确信jsp有问题,现在状态消息显示:

“不支持请求方法'GET'。”

如果我删除method=RequestMethod.POST,它会显示:

“所需的字符串参数'cn'不存在;说明:客户端发送的请求语法不正确”

更改HTML:

<html>
<head><title>Search Entry</title></head>
<body>
<h3>Search entry</h3>
<a href="search"><input type="text" name="cn" value="search" action="search">
 <button type="submit">Search</button>
</a>
</body>
 </html>

搜索条目
搜索条目
或者点击以下链接:


我可以看到您正在使用Spring注释,所以您需要做的是修改JSP,使其具有表单,而不是像这样的链接:

<html>
<head><title>Search Entry</title></head>
<body>
<h3>Search entry</h3>
<form action="search" method="post">
    <input type="text" name="cn" value="search">
    <button type="submit">Search</button>
</form>
</body>
</html>
<html>
<head><title>Search Entry</title></head>
<body>
<h3>Search entry</h3>
  <a href="search?cn=search">
     Search
  </a>
</body>
</html>
@RequestParam(value = "cn", required = false) String cn

您需要在表单标签中定义应该有效的
action=“search”
为什么不使用pathvariable?您认为
的工作原理可能重复?仍然:必需的字符串参数“cn”不存在请查看我更新的博客我还附加了一些有用的链接。希望对您有所帮助您认为您的更改会起到什么作用?你为什么这么认为?你发布的链接的相关性是什么?如果您认为这是重复的,请投票关闭。为什么您认为
有一个名为
action
的属性?您认为
锚中会做什么?