Java Spring Controller 獲取請求參數(shù)的幾種方法詳解
Java Spring Controller 獲取請求參數(shù)的幾種方法
1、直接把表單的參數(shù)寫在Controller相應的方法的形參中,適用于get方式提交,不適用于post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交
url形式:http://localhost:8080/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的參數(shù)需要和Controller方法中的入?yún)⒚Q一致。
/** * 1.直接把表單的參數(shù)寫在Controller相應的方法的形參中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1(String username,String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
2、通過HttpServletRequest接收,post方式和get方式都可以。
/** * 2、通過HttpServletRequest接收 * @param request * @return */ @RequestMapping("/addUser2") public String addUser2(HttpServletRequest request) { String username=request.getParameter("username"); String password=request.getParameter("password"); System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
3、通過一個bean來接收,post方式和get方式都可以。
/** * 3、通過一個bean來接收 * @param user * @return */ @RequestMapping("/addUser3") public String addUser3(UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
4、使用@ModelAttribute注解獲取POST請求的FORM表單數(shù)據(jù)
/** * 4、使用@ModelAttribute注解獲取POST請求的FORM表單數(shù)據(jù) * @param user * @return */ @RequestMapping(value="/addUser5",method=RequestMethod.POST) public String addUser5(@ModelAttribute("user") UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
5、用注解@RequestParam綁定請求參數(shù)到方法入?yún)?nbsp;
當請求參數(shù)username不存在時會有異常發(fā)生,可以通過設置屬性required=false解決,例如:
@RequestParam(value="username", required=false) **** 若"Content-Type"="application/x-www-form-urlencoded",post get都可以 **** 若"Content-Type"="application/application/json",只適用get /** * 5、用注解@RequestParam綁定請求參數(shù)到方法入?yún)? * @param username * @param password * @return */ @RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
6、用request.getQueryString() 獲取spring MVC get請求的參數(shù),只適用get請求
@RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(HttpServletRequest request) { System.out.println("username is:"+request.getQueryString()); return "demo/index"; }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
JavaWeb?Servlet實現(xiàn)文件上傳與下載功能實例
因自己負責的項目中需要實現(xiàn)文件上傳,所以下面下面這篇文章主要給大家介紹了關于JavaWeb?Servlet實現(xiàn)文件上傳與下載功能的相關資料,需要的朋友可以參考下2022-04-04Mybatis使用注解實現(xiàn)復雜動態(tài)SQL的方法詳解
當使用 MyBatis 注解方式執(zhí)行復雜 SQL 時,你可以使用 @Select、@Update、@Insert、@Delete 注解直接在接口方法上編寫 SQL,本文給大家介紹了Mybatis如何使用注解實現(xiàn)復雜動態(tài)SQL,文中有相關的代碼示例供大家參考,需要的朋友可以參考下2023-12-12