No parameter name specified for argument of type
錯誤 : 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模式即可,如下圖、

posted on 2014-10-08 22:30 Nirvana reborn 閱讀(7573) 評論(0) 編輯 收藏 所屬分類: ★SpringMVC