日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC总结三:请求Controller返回视图类型以及请求方式、参数介绍

發布時間:2025/4/16 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC总结三:请求Controller返回视图类型以及请求方式、参数介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

視圖解析,請求Controller返回的視圖類型:

@Controller @RequestMapping("/test") public class TestController {//正常返回ModelAndView@RequestMapping("/modelAndView")public ModelAndView retModelAndView(){ModelAndView mv = new ModelAndView("hello");mv.addObject("msg","正常ModelAndView的返回");return mv;}//返回json視圖(json格式的數據)@RequestMapping("/jsonView")@ResponseBody //通過這個注解聲明 返回json格式數據public List<Book> returnJsonView() {List<Book> list = new ArrayList<>();Book book1 = new Book();book1.setId(1);book1.setName("降龍十八掌");book1.setDesc("最難是亢龍有悔");list.add(book1);Book book2 = new Book();book2.setId(2);book2.setName("凌波微步");book2.setDesc("走為上");list.add(book2);return list;}//不做任何操作直接返回視圖名稱(jsp頁面) 前提是要有這個jsp頁面@RequestMapping("/viewName")public String returnViewName() {String viewName = "index";return viewName;}//重定向@RequestMapping("/redirect")public String returnRedirect(){//返回值以 redirect: 開頭后面跟上urlreturn "redirect:/test/jsonView.do";}//請求轉發@RequestMapping("/forward")public String returnForward(){//返回值以 forward: 開頭后面跟上urlreturn "forward:/test/jsonView.do";}//不返回視圖,只返回狀態碼@RequestMapping("/noView")@ResponseStatus(HttpStatus.OK)public void returnNoView(){} }

返回json視圖需要的jar包:jackson-databind

?

請求方式限定:

// 請求方式限定 限定post請求方式@RequestMapping(value = "/requestMethodPost", method = RequestMethod.POST)public ModelAndView requestMethodPost() {ModelAndView mv = new ModelAndView();mv.setViewName("index");//設置視圖名字(jsp頁面)mv.addObject("msg", "requestMethod method=post");return mv;}//請求方式限定 限定多種請求方式@RequestMapping(value = "/requestMethod", method = {RequestMethod.POST, RequestMethod.GET})public ModelAndView requestMethod() {ModelAndView mv = new ModelAndView();mv.setViewName("index");//設置視圖名字mv.addObject("msg", "requestMethod method=post and get");return mv;}

?

請求參數獲取:

1,獲取servlet內置對象(不推薦使用)

//獲取servlet內置對象 不推薦使用@RequestMapping("/servletObj")public ModelAndView getServletObj(HttpServletRequest request, HttpServletResponse response, HttpSession session) {ModelAndView mv = new ModelAndView("servlet_test");// WEB-INF/views/servlet_test.jsp頁面mv.addObject("request", "我是request===" + request);mv.addObject("response", "我是response===" + response);mv.addObject("session", "我是session===" + session);return mv;} <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %> <html> <head><title>Title</title> </head> <body><h1>${request}</h1><h1>${response}</h1><h1>${session}</h1> </body> </html>

?

2,獲取PathVariable(占位符)參數

//獲取PathVariable(占位符)參數@RequestMapping("/pathVariable/{name}/{code}")public ModelAndView getPathVariable(@PathVariable("name") String name, @PathVariable("code") String code) {ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "占位符映射參數,name=" + name + ",code=" + code);return mv;}

?

3,獲取基本類型數據的請求參數

表單信息:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <form action="/test/baseDataTypeParams.do" method="post"><table><tr><td>姓名:</td><td><input name="name" value="zhangsan"/></td></tr><tr><td>年齡:</td><td><input name="age" value="20"/></td></tr><tr><td>收入:</td><td><input name="income" value="99999"/></td></tr><tr><td colspan="2"><input type="submit" value="提交表單"/></td></tr></table> </form> </body> </html>

controller:

//獲取基本數據類型的請求參數@RequestMapping("baseDataTypeParams")public ModelAndView getBaseDataTypeParams(@RequestParam("name") String name, @RequestParam("age") int age,@RequestParam("income") double income) {ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "name=" + name + ",age=" + age + ",income=" + income);return mv;}

?

4,獲取請求參數并封裝成pojo對象

寫一個user類:

package zy.com.domain;public class User {private String name;private int age;private double income;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getIncome() {return income;}public void setIncome(double income) {this.income = income;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", income=" + income +'}';} } View Code //獲取請求參數并封裝成pojo對象@RequestMapping("/pojo")public ModelAndView getPojo(User user) {ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "接收的對象參數 user:" + user);return mv;}

把上面的表單請求的action改成

<form action="/test/pojo.do" method="post">

?

5,限制并獲取參數信息

//獲取并限制表單參數信息 requird必傳參數 defaultvalue默認值...@RequestMapping("/param")public ModelAndView getParam(@RequestParam(value = "name", required = true, defaultValue = "zhangsan") String name) {ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "接收的參數 name:" + name);return mv;}

?

6,獲取cookie參數信息

//獲取cookie信息@RequestMapping("/cookieInfo")public ModelAndView getCookieInfo(@CookieValue("JSESSIONID")String jsessionid){ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "接收的參數 JSESSIONID:" + jsessionid);return mv;}

?

7,獲取對象集合參數

對象集合類:

package zy.com.domain;import java.util.List;public class Books {private List<Book> userList;public List<Book> getUserList() {return userList;}public void setUserList(List<Book> userList) {this.userList = userList;}@Overridepublic String toString() {return "Books{" +"userList=" + userList +'}';} } View Code //獲取對象集合信息public ModelAndView getBookList(Books books){ModelAndView mv = new ModelAndView("index");mv.addObject("msg", "接收的參數 books:" + books);return mv;}

?

8,接收json格式請求(@RequestBody()

// 接收json格式對象 轉成 javabean對象@RequestMapping("/json")public ModelAndView getJson(@RequestBody() Book book) {ModelAndView modelAndView = new ModelAndView("index");modelAndView.addObject("msg", "獲取json信息轉成user對象: book=" + book);System.out.println("-----------------------------------------");System.out.println("book=" + book);return modelAndView;}// 將json數組對象 轉成 包含javabean對象的集合@RequestMapping("/jsonList")public ModelAndView getJsonList(@RequestBody() List<Book> bookList) {ModelAndView modelAndView = new ModelAndView("index");modelAndView.addObject("msg", "獲取json信息轉成List<user>對象: bookList=" + bookList);System.out.println("-----------------------------------------");System.out.println("bookList=" + bookList);return modelAndView;}

?

轉載于:https://www.cnblogs.com/blazeZzz/p/9329482.html

總結

以上是生活随笔為你收集整理的SpringMVC总结三:请求Controller返回视图类型以及请求方式、参数介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。