No parameter name specified for argument of type [java.lang.String]的问题

时间:2022-11-07 22:28:55

错误 : 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= ( f i n d . / j a v a / | g r e p j a v a )
javac -g -d ./classes $SRC -encoding utf-8
——– 如果是在Eclipse下的编译,可以直接项目的Java Compile编译选项

右键项目–>Properties–>Java Compile–>设置Classfile Generation 编译选项支持参数的debug模式即可,如下图、
No parameter name specified for argument of type [java.lang.String]的问题

之前项目遇到的问题,在本地跑好好的,发到服务器上一直报这个错,特此记录!