@RequestParam的使用在Spring 3中引发错误

Viv*_*vek 8 spring annotations

我使用@RequestParam注释来获取请求参数,并使用相同的方法将值插入到数据库中.我已将控制器设置为重定向到同一页面,该页面包含用户输入值的文本字段,这些值正在使用@RequestParam注释进行读取.

但是在我将值输入文本字段并单击"提交"后,它会抛出此错误

请求处理失败; 嵌套异常是java.lang.IllegalArgumentException:参数类型名称[java.lang.String]不可用,参数名称信息也没有在类文件中找到.

我是Spring 3的新手,无法理解错误.任何人都可以对此有所了解.

提前谢谢,Vivek

Bab*_*nam 12

为了将request参数的值注入到handler方法参数中,应满足以下任一条件

  1. 请求参数的名称必须与方法参数的名称匹配.例如,Follow将把名为"studentName"的请求参数注入方法参数studentName

    public String goToStep(@RequestParam String studentName)

  2. 如果请求参数名称与方法参数不匹配,则必须显式指定.以下内容将"nameOfStudent"请求参数注入studentName:

    public String goToStep(@RequestParam("nameOfStudent") String studentName)

如果您的问题仍然存在,请发布您的处理程序方法代码.


sin*_*pop 5

我询问您正在使用的版本,因为几天前我遇到了类似的问题。我使用的是 Spring 3.1.0.M2,当我在代理 @Controller 中使用 @PathVariable 时,出现了相同的异常。

这是由已解决的已知错误引起的。您只需切换到 3.0.6 或尝试每晚构建 3.1.0.BUILD-SNAPSHOT。当然,生产环境不推荐后一种选择。