Spring @RequestParam 註解的使用

前言

在SpringMvc後臺進行獲取數據,通常是兩種。
1.request.getParameter(「參數名」)
2.用@RequestParam註解獲取前端

 

@RequestMapping("/")
public String Demo1(@RequestParam String lid){

    System.out.println("----"+lid);
    return null;
}

 

前臺頁面

<input type="text" name="lid" />  <!-- 這時輸出爲10 -->

Console輸出界面

----10

springmvc會自動根據參數名字來注入,因此要名字一致,否則不會注入spring

參數名字不一致

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") String id){

    System.out.println("----"+id);
    return null;
}
前臺頁面

<input type="text" name="lid" />  <!-- 這時輸出爲10 -->

Console輸出界面

----10

參數名字不一致的話,須要在@RequestParam後面指定參數名字,才能爲後面的參數進行賦值。mvc

設置默認值

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",defaultValue="ste") String id){

    System.out.println("----"+id);
    return null;
}
前臺頁面



Console輸出界面

----ste

注意事項

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") int id){

    System.out.println("----"+id);
    return null;
}
前臺頁面

<input type="text" name="lid" />  <!-- 這時輸出爲10 -->

Console輸出界面

----10

若是要@RequestParam爲一個int型的數據傳值,假如前端並未輸入,那麼將會爲int型的數據賦值爲null。顯然,這是不容許的,直接報錯。
能夠經過required=false或者true來要求@RequestParam配置的前端參數是否必定要傳 app

// required=true,則參數必需要傳
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",required=true) int id){

    System.out.println("----"+lid);
    return null;
}`

若是required爲false,那麼默認爲參數賦值爲nullui

相關文章
相關標籤/搜索