错误 : No parameter name specified for argument of type [java.lang.String],
解析 :这种错误主要是因为action的参数标注默认是debug级别的,比如:
@RequestMapping(value = "login.html")
public String login(String username, String password) {
/*------此处省略--------*/
return "redirect:gms/main.html";
}
此时,username的级别是debug级别,而在某些情况下编译的时候,可能会忽略掉这些标注,导致请求找不到username参数。
解决 :
--------可以考虑修改参数的写法,当然不建议这么做
@RequestMapping(value = "login.html")
public String login(@RequestParam("username") String username,
@RequestParam("passowrd") String password) {
/*----此处省略------*/
return "redirect:gms/main.html";
}
--------如果是在Linux下的编译脚本编译,可以直接修改编译脚本
SRC=$(find ./java/* | grep java$)
javac -g -d ./classes $SRC -encoding utf-8
--------如果是在Eclipse下的编译,可以直接项目的Java Compile编译选项
右键项目-->Properties-->Java Compile-->设置Classfile Generation 编译选项支持参数的debug模式即可,如下图、