错误 : 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=
)
javac -g -d ./classes $SRC -encoding utf-8
——– 如果是在Eclipse下的编译,可以直接项目的Java Compile编译选项
右键项目–>Properties–>Java Compile–>设置Classfile Generation 编译选项支持参数的debug模式即可,如下图、
之前项目遇到的问题,在本地跑好好的,发到服务器上一直报这个错,特此记录!