Spring MVC開發(fā)中畅铭,接收前端參數(shù)并解析參數(shù)是非常重要的形耗,我總結(jié)了如下接收參數(shù)的方式:
方式一:
普通方式接收
1 @RequestMapping("/index")
2 public String getUserName(String username) {
3 System.out.println("username is:"+username);
4 return "index";
5 }
參數(shù)寫在Controller的方法的形參中,適用于get, post方式提交。參數(shù)名必須和前臺的一致遏片。
方式二:
接收HttpServletRequest
1 @RequestMapping("/index")
2 @ResponseBody
3 public String getUserName(HttpServletRequest request) {
4 String username = request.getParameter("username");
5 return username;
6 }
可以通過getParameter()獲取POST/GET傳遞的參數(shù)值炒辉;它用于客戶端重定向時,即點擊了鏈接或提交按扭時傳值用到逊,即用于在用表單或url重定向傳值時接收數(shù)據(jù)铣口。getParameter只是應(yīng)用服務(wù)器在分析你送上來的request頁面的文本時滤钱,取得你設(shè)在表單或url重定向時的值。
方式三:
通過@RequestParam注解
1 @RequestMapping(value="/index")
2 public String getUserName(@RequestParam(value="name",required=false)String username, Model model){
3 System.out.println(username);
4 model.addAttribute("hello", "這是用action傳過來的值:"+ username);
5 return "index";
6 }
方式四:
通過bean來接收json
1 @RequestMapping("/index")
2 public @ResponseBody User getUserName(@RequestBody User u) {
3 System.out.pringln("name: " + u.getName());
4
5 User user = new User();
6 user.setName(request.getParameter("name"));
7
8 return user;
9 }