日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring MVC的參數(shù)綁定和返回值問題

瀏覽:116日期:2023-07-23 13:10:25
一:參數(shù)綁定

參數(shù)綁定過程

在springMVC中,從前端(頁面:jsp…)發(fā)送請求到后端(controller…),會包含一些數(shù)據(jù),數(shù)據(jù)是如何到達Controller,這個過程就是參數(shù)綁定過程

Spring MVC的參數(shù)綁定和返回值問題

1、默認支持的類型

SpringMVC有支持的默認的參數(shù)類型,在方法上給出默認的參數(shù)類型的聲明就可以直接使用

HttpServletRequest request:通過request對象來獲取請求的信息 HttpServletResponse response:通過response來處理響應信息 HttpSession session:通過session對象來存放緩存信息 Model model:Model是一個接口,modelMap是一個接口實現(xiàn),將model信息填充到request中

public String index(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model) { //返回的modelAndView //指定返回的頁面

2、基本數(shù)據(jù)類型

基本的數(shù)據(jù)類型也支持綁定,基礎的數(shù)據(jù)類型包括byte、short、int、long 、float、double、char、boolean

JSP頁面:

<html><head> <title>測試基本數(shù)據(jù)類型</title></head><body><!-- 測試基本的數(shù)據(jù)類型綁定:form表單向后端提交數(shù)據(jù) --><form action='/index/basedataType' method='post'> <input type='text' name='username'> <input type='submit' value='提交'></form></body></html>

controller層:

@RequestMapping('/basedataType')public void baseDataType(int username) { System.out.println('基本數(shù)據(jù)類型:'+username);} 注意:表單上Input中的name值和controller的參數(shù)的變量名保持一致,則能完成數(shù)據(jù)綁定,如果不一致呢? 需要@RequestParam注解來完成,JSP頁面不用改變

Spring MVC的參數(shù)綁定和返回值問題

使用@RequestParam注解就可以解決頁面Input的name值和controller方法形參名不一致的問題

注意:基本的數(shù)據(jù)類型和包裝類型(Integer,Long…)以及String類型參數(shù)綁定都是適用于以上基本類型參數(shù)綁定,基本類型和包裝類型的區(qū)別:基本類型傳遞參數(shù)不能為null或者“”,否則會出現(xiàn)數(shù)據(jù)轉化的異常,包裝類型不會出現(xiàn)這種問題,建議使用時使用包裝。

Spring MVC的參數(shù)綁定和返回值問題

3、自定義類型

自定義類型的類(User)

public class User { private Long id; private String name; private String address;}//getter setter toString

JSP頁面

<%@ page language='java' contentType='text/html; charset=UTF-8' pageEncoding='UTF-8' %> <%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %> <%@ taglib uri='http://java.sun.com/jsp/jstl/fmt' prefix='fmt' %> <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <title>自定義類型數(shù)據(jù)提交</title> </head> <body> <form action='/user/adduser' method='post'> 用戶id:<input type='text' name='id'><br/> 用戶名:<input type='text' name='name'><br/> 地址:<input type='text' name='address'><br/> <input type='submit' value='提交'> </form> </body> </html>

controller層

@Controller@RequestMapping('/user')public class UserController { @RequestMapping('/index') public String index() { return 'user'; } @RequestMapping('/adduser') //接收自定義類型的數(shù)據(jù) public String addUser(User user){ System.out.println('用戶信息:'+user); return 'success'; }}

Spring MVC的參數(shù)綁定和返回值問題

注意:頁面輸入框的name屬性值和自定義的pojo實例的屬性名保持一致即可映射成功如果類型存在 不一致時需要自定義一個類型轉化器,需要給定一個自定義的類,實現(xiàn)Converter接口,該接口需要執(zhí)行轉化的類型,例如將前端的String的數(shù)據(jù)轉化為日期類型,即Converter<String,Date>

4、集合類型

集合類型:數(shù)組,List、Map等常用的集合類型都會支持以List集合為例進行介紹

JSP頁面

<%@ page language='java' contentType='text/html; charset=UTF-8' pageEncoding='UTF-8'%><%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %><%@ taglib uri='http://java.sun.com/jsp/jstl/fmt' prefix='fmt'%><!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'><html><head> <title>用戶列表</title></head><body><table border='1'> <thead> <tr> <td>用戶id</td> <td>用戶名</td> <td>地址</td> </tr> </thead> <tbody> <c:forEach items='${users}' var='user'> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.address}</td> </tr> </c:forEach> </tbody></table></body></html>

controller層

@RequestMapping('/userlist')//集合類型數(shù)據(jù)的傳遞public ModelAndView userList() { ModelAndView modelAndView = new ModelAndView(); //指定邏輯視圖名 modelAndView.setViewName('userlist'); //偽數(shù)據(jù)集合 ArrayList<User> users = new ArrayList <>(); User user1 = new User(); user1.setId(1L); user1.setName('張三'); user1.setAddress('陜西西安'); users.add(user1); User user2 = new User(); user2.setId(2L); user2.setName('李四'); user2.setAddress('陜西西安'); users.add(user2); User user3 = new User(); user3.setId(3L); user3.setName('王五'); user3.setAddress('陜西西安'); users.add(user3); //填充數(shù)據(jù) modelAndView.addObject('users', users); return modelAndView;}

Spring MVC的參數(shù)綁定和返回值問題

二:返回值

1、返回ModelAndView類型

返回結構定位ModelAndView時,將model和View分別進行設置

@RequestMapping('/userlist') //集合類型數(shù)據(jù)的傳遞 public ModelAndView userList() { //偽數(shù)據(jù)集合 ArrayList <User> users = new ArrayList <>(); ModelAndView modelAndView = new ModelAndView(); //指定邏輯視圖名 modelAndView.setViewName('userlist'); //返回數(shù)據(jù) modelAndView.addObject('users', users); modelAndView.addObject('class', '超大充電寶'); return modelAndView; }

Spring MVC的參數(shù)綁定和返回值問題

Spring MVC的參數(shù)綁定和返回值問題

2、返回String類型 (1)返回邏輯視圖名

返回String,可以表示是邏輯視圖名

Spring MVC的參數(shù)綁定和返回值問題

真正視圖(jsp路徑)=“前綴”+邏輯視圖名+“后綴”前綴和后綴可以在spring-mvc中設置視圖解析器組件時指定

Spring MVC的參數(shù)綁定和返回值問題

(2)redirect重定向

redirect特點:

瀏覽器上地址URL會發(fā)生改變, 修改后的request的數(shù)據(jù)無法傳遞到重定向的頁面,即重定向時request數(shù)據(jù)無法共享

Spring MVC的參數(shù)綁定和返回值問題

點擊提交之后,頁面跳轉到redirect指定的頁面,URL會發(fā)生改變

Spring MVC的參數(shù)綁定和返回值問題

(3)forward頁面轉發(fā)

forward特點:

瀏覽器的地址URL不變的 request是可以共享的

Spring MVC的參數(shù)綁定和返回值問題

點擊提交之后,頁面跳轉到forward指定的頁面,URL不會發(fā)生改變

Spring MVC的參數(shù)綁定和返回值問題

問題:forward和redirect的區(qū)別?

Forward和Redirect代表了兩種請求轉發(fā)方式:直接轉發(fā)和間接轉發(fā)。

直接轉發(fā)方式(Forward),客戶端和瀏覽器只發(fā)出一次請求,Servlet、HTML、JSP或其它信息資源,由第二個信息資源響應該請求,在請求對象request中,保存的對象對于每個信息資源是共享的。 間接轉發(fā)方式(Redirect)實際是兩次HTTP請求,服務器端在響應第一次請求的時候,讓瀏覽器再向另外一個URL發(fā)出請求,從而達到轉發(fā)的目的。

舉個通俗的例子:

直接轉發(fā)就相當于:“A找B借錢,B說沒有,B去找C借,借到借不到都會把消息傳遞給A” 間接轉發(fā)就相當于:“A找B借錢,B說沒有,讓A去找C借”

二者區(qū)別:redirect 重定向:

1、重定向會改變?yōu)g覽器地址欄地址 。

2、重定向不止可以訪問服務器內的資源,還可以訪問外部連接 。

3、重定向因為是兩次請求,所以重定向不能使用request來訪問資源和共享數(shù)據(jù),因為request的作用域是一次請求內。

forward 請求轉發(fā):

1、不會改變?yōu)g覽器地址欄信息 。

2、只能訪問服務器內部資源 。

3、是一次請求.所以可以使用request共享數(shù)據(jù)。

2、返回void類型

@RequestMapping('/void') //接收自定義類型的數(shù)據(jù) public void result(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //添加用戶成功跳轉到用戶列表 request.getRequestDispatcher('/user/userlist').forward(request,response); response.sendRedirect('/user/userlist'); response.getWriter().write('hello...'); }

(1)使用request頁面轉向

request.getRequestDispatcher('/user/userlist').forward(request,response);

(2)通過response頁面重定向

response.sendRedirect('/user/userlist');

(3)通過response指定響應結果

response.getWriter().write('hello...');

到此這篇關于Spring MVC的參數(shù)綁定和返回值的文章就介紹到這了,更多相關Spring MVC參數(shù)綁定和返回值內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99成人在线| 婷婷亚洲五月色综合| 亚洲精品动态| 日本va欧美va瓶| 日本视频一区二区| 精品视频91| 精品欠久久久中文字幕加勒比| 精品视频一二| 欧美综合另类| 亚洲无线观看| 美女性感视频久久| 久久婷婷av| 日韩精品一区第一页| 久久精品超碰| 日韩免费久久| 蜜臀av亚洲一区中文字幕| 国产欧美日韩一区二区三区四区| 免费日韩一区二区三区| 久久毛片亚洲| 宅男噜噜噜66国产日韩在线观看| 亚洲欧洲国产精品一区| 日韩中出av| 丁香婷婷久久| 国产模特精品视频久久久久| 日韩国产在线不卡视频| 久久99久久人婷婷精品综合| 免费不卡中文字幕在线| 日韩精彩视频在线观看| 日本欧美国产| 亚洲综合不卡| 欧美成人精品午夜一区二区| 久久一区二区三区喷水| 日韩精品久久久久久久软件91| 国产一区二区精品久| 欧美日韩精品免费观看视频完整| 91p九色成人| 另类中文字幕国产精品| 日韩在线观看中文字幕| 日韩国产一区二区| 日韩中文字幕视频网| 日韩在线二区| 欧美天堂在线| 欧美精品一区二区三区精品| 日韩不卡免费视频| 天堂网在线观看国产精品| 国产精品一区二区三区av麻| 一区在线免费| 日本一二区不卡| 日韩av电影一区| 亚洲精品网址| 国产成年精品| 亚洲精品极品| 91成人超碰| 日韩1区2区| 欧美日韩亚洲国产精品| 一区福利视频| 丁香六月综合| 麻豆成人av在线| 日韩精品一级| 久久国产精品久久w女人spa| 日韩中文影院| 欧美国产极品| 日韩成人av影视| 视频一区欧美日韩| 久久一区二区三区喷水| 国产一区二区三区视频在线| 综合干狼人综合首页| 欧美 日韩 国产精品免费观看| 精品一区二区三区亚洲 | 国产精品亚洲四区在线观看| 伊人久久成人| 91精品国产成人观看| 美腿丝袜亚洲一区| 日本欧美大码aⅴ在线播放| 夜夜精品视频| 欧美日韩四区| 久久精品国产www456c0m| 国产+成+人+亚洲欧洲在线| 国产精品一区二区三区av麻| 日韩和欧美一区二区| 欧美一区=区| 国产精品美女| 国产亚洲午夜| 亚洲欧美日韩国产| 好看不卡的中文字幕| 日韩欧美一区二区三区在线观看| 高清精品久久| 福利欧美精品在线| 精品久久99| 你懂的国产精品永久在线| 久久国产尿小便嘘嘘| 91精品国产自产观看在线 | 极品日韩av| 亚洲二区视频| 青青久久av| 亚洲一级影院| 一区视频在线| 欧美资源在线| 亚洲免费成人av在线| 天堂久久一区| 欧美精品中文字幕亚洲专区| 国产亚洲字幕| 国产精品115| 国产一区二区三区久久| 国产日韩电影| 亚洲天堂黄色| 蜜臀91精品一区二区三区| 蜜臀av一区二区在线免费观看| 视频一区中文字幕| 欧美一区影院| 国产一区不卡| 久久中文字幕av一区二区不卡| 亚洲小说欧美另类婷婷| 日韩午夜黄色| 日韩精品免费一区二区夜夜嗨 | 精品一区电影| 欧美sss在线视频| 黄页网站一区| 日本午夜精品一区二区三区电影| 欧美日韩中出| 国产传媒在线观看| 黄色成人91| 国产欧美一区| 亚洲爱爱视频| 亚洲精品在线国产| 久久精品午夜| 免费观看久久av| 日韩av网站免费在线| 91亚洲成人| 国产亚洲毛片| 麻豆精品99| 不卡一区2区| 亚洲免费毛片| 97精品国产福利一区二区三区| 亚洲高清影视| 久久99精品久久久野外观看| 婷婷国产精品| 日韩在线麻豆| 日韩在线短视频| 亚洲精品日韩久久| 美女av在线免费看| 日本亚洲欧洲无免费码在线| 国产精选在线| 日韩高清国产一区在线| 亚洲啊v在线| 91av一区| 中文国产一区| 精品亚洲自拍| 蜜桃视频一区二区三区| 国产+成+人+亚洲欧洲在线| 视频一区二区不卡| 成人三级高清视频在线看| 中文字幕一区二区av| 精品视频国产| 少妇精品在线| 成人精品亚洲| 欧美精品福利| 午夜一区在线| 日韩黄色大片| 国产精品网站在线看| 在线国产一区二区| 国产精品调教视频| 玖玖精品视频| 日韩欧美不卡| 国产精品密蕾丝视频下载| 精品91久久久久| 中文一区一区三区高中清不卡免费| 亚洲精品极品| 亚洲一级高清| 国产精品久久久久久久免费观看| 婷婷精品在线| 欧美专区18| 四虎4545www国产精品| 久久精品国产网站| 欧美日韩精品一区二区三区视频 | 麻豆成人在线观看| 日韩国产欧美视频| 麻豆成人在线| 久久高清免费| 成人在线视频区| 国产精品地址| 欧美午夜网站| 欧美亚洲色图校园春色| 蜜臀国产一区二区三区在线播放| 久久婷婷亚洲| 都市激情国产精品| 欧美激情91| 国产欧美久久一区二区三区| 综合国产视频| 视频精品一区二区| 亚洲免费影院| 丝瓜av网站精品一区二区| 亚洲先锋成人| 香蕉久久99| 国产韩日影视精品| 欧美日韩免费观看一区=区三区 | 国产精品亚洲欧美一级在线| 日韩超碰人人爽人人做人人添| 中文字幕免费一区二区| 丝瓜av网站精品一区二区|