1. 程式人生 > >spring mvc 綁定參數據默認值,是否必傳,(RequestParam(value="id",defaultValue="1",required=true) )

spring mvc 綁定參數據默認值,是否必傳,(RequestParam(value="id",defaultValue="1",required=true) )

host 模型 pri 默認 處理 ood 通過 定義 參數

@RequestMapping(value = "/detail", method = RequestMethod.GET)
public String newDetail(@RequestParam(value="id",defaultValue="1",required=true) int id,@RequestParam(value="typeId",defaultValue="2",required=true) int typeId) {
NewsInfoEntity newsInfoEntity = newsInfoService.findById(id);
NewsTypeEntity newsTypeEntity = newsTypeService.findById(typeId);
this.request.setAttribute("newsInfoEntity", newsInfoEntity);
this.request.setAttribute("newsTypeEntity", newsTypeEntity);
return "news_detail";
}

首先呢是springMVC默認支持的綁定類型有:

HttpServletReequest對象:通過request對象可以獲取參數信息

HttpservletResponse對象:通過response對象可以處理響應信息

HTTPSession對象:獲取session中存儲的對象

Model/ModelMap:Model是一個接口,ModelMap是一個接口的實現。作用是將模型數據填充到request域。

簡單類型的參數綁定:

1、直接在controller中定義一個變量,但是此種傳輸方式有一個限制就是參數名和請求中的參數名必須保持一致,否則是接收不到數據的。

比如說:
Controller : public void controllerTest(Integer id){}
request : http://localhost:8080/springMvcTest/controllerTest?id=2; 在這兒必須寫成"id=2"而不能寫成“id”這個屬性名不可變

2、使用@RequestParam進行參數綁定,在使用這個註解進行綁定的時候,參數名無需和請求中的參數名保持一致。

比如說:
Controller : public void controllerTest(@RequestParam(value="id") Integer goods_id){}
@RequestParam(value="id") Integer goods_id 表示將請求中的id屬性綁定到goods_id這個參數上
request : http://localhost:8080/springDemo/controllerTest?id=2; 在這兒傳入的參數名為id

在@RequestParam 中有一個屬性叫做required @RequestParam(required=true)表示當前參數必須傳入
@RequestParam 中還有一個屬性叫做defaultValue 表示默認值 @RequestParam(defaultValue="aaa"),你懂得 不用多做介紹

3、POJO的綁定

在Controller中可以直接定義POJO類型的參數來接收請求中的數據。

這種使用方式的條件是:在頁面中input的name屬性的值必須和POJO的屬性一一對應!

spring mvc 綁定參數據默認值,是否必傳,(RequestParam(value="id",defaultValue="1",required=true) )