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

本文介绍了解决在使用SpringMVC框架时遇到的参数注解问题,特别是当action参数标注为debug级别时,可能导致请求找不到参数的情况。提供两种解决方案:一是调整参数写法,明确指定@RequestParam;二是调整编译选项,确保支持参数的debug模式。

错误 : 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/|grepjava(find./java/∗|grepjava)
javac -g -d ./classes $SRC -encoding utf-8
——– 如果是在Eclipse下的编译,可以直接项目的Java Compile编译选项

右键项目–>Properties–>Java Compile–>设置Classfile Generation 编译选项支持参数的debug模式即可,如下图、
这里写图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值