@RequestParam的作用

@MVC另外一個特性是其提取和解析請求參數的能力。讓我們繼續重構上面的方法,並在其中添加@RequestParam註解:
@RequestMapping("/accounts/show")
public void show(@RequestParam("number") String number, Map<String, Object> model) {
model.put("account", accountRepository.findAccount(number));
}

這裏@RequestParam註解可以用來提取名爲“number”的String類型的參數,並將之作爲輸入參數傳入。 @RequestParam支持類型轉換,還有必需和可選參數。類型轉換目前支持所有的基本Java類型,你可通過定製的PropertyEditors 來擴展它的範圍。下面是一些例子,其中包括了必需和可選參數:
@RequestParam(value="number", required=false) String number
@RequestParam("id") Long id
@RequestParam("balance") double balance
@RequestParam double amount

注意,最後一個例子沒有提供清晰的參數名。當且僅當代碼帶調試符號編譯時,結果會提取名爲“amount ”的參數,否則,將拋出IllegalStateException異常,因爲當前的信息不足以從請求中提取參數。由於這個原因,在編碼時最好顯式的指定參數名。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章