錯(cuò)誤 : No parameter name specified for argument of type [java.lang.String],
解析 :這種錯(cuò)誤主要是因?yàn)閍ction的參數(shù)標(biāo)注默認(rèn)是debug級(jí)別的,比如:
@RequestMapping(value = "login.html")
public String login(String username, String password) {
/*------此處省略--------*/
return "redirect:gms/main.html";
}
此時(shí),username的級(jí)別是debug級(jí)別,而在某些情況下編譯的時(shí)候,可能會(huì)忽略掉這些標(biāo)注,導(dǎo)致請(qǐng)求找不到username參數(shù)。
解決 :
--------可以考慮修改參數(shù)的寫(xiě)法,當(dāng)然不建議這么做
@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下的編譯,可以直接項(xiàng)目的Java Compile編譯選項(xiàng)
右鍵項(xiàng)目-->Properties-->Java Compile-->設(shè)置Classfile Generation 編譯選項(xiàng)支持參數(shù)的debug模式即可,如下圖、