国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Spring Boot Web項目之參數綁定

詳解Spring Boot Web項目之參數綁定

2020-08-29 11:47nicekk Java教程

本篇文章主要介紹了詳解Spring Boot Web項目之參數綁定,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、@requestparam

這個注解用來綁定單個請求數據,既可以是url中的參數,也可以是表單提交的參數和上傳的文件

它有三個屬性,value用于設置參數名,defaultvalue用于對參數設置默認值,required為true時,如果參數為空,會報錯

好,下面展示具體例子:

首先是vm:

?
1
2
<h1>param1:${param1}</h1>
<h1>param2:${param2}</h1>

好吧,就為了展示兩個參數

第一種情況:

?
1
2
3
4
5
6
@requestmapping(value = "/hello1.htm")
public string hello1(modelmap modelmap,integer param1, int param2) {
  modelmap.addattribute("param1", param1);
  modelmap.addattribute("param2", param2);
  return "hello";
}

這里前面的參數時包裝型,后面的參數時原始類型

直接用url請求:

http://localhost:8080/hello1.htm?param1=1¶m2=2

結果:

詳解Spring Boot Web項目之參數綁定

但是:

如果不傳param2:  

http://localhost:8080/hello1.htm?param1=1

直接就報錯了

因為無法將null轉換為原始類型

所以:建議所有的參數都用包裝類型,別用原始類型

第二種情況:

仍然是上面的那個controller,地址改為

http://localhost:8080/hello1.htm?param2=1¶m1=2

就是讓param2=1,param1=2,想試驗下,參數綁定是和順序有關,還是只和參數名稱有關,結果:

所以,springmvc參數綁定只和參數名字有關系

 詳解Spring Boot Web項目之參數綁定

第三種情況:

如果頁面上表單里的參數和代碼里的參數名不一樣怎么辦,這時候就可以用注解了: 

?
1
2
3
4
5
6
@requestmapping(value = "/hello1.htm")
 public string hello1(modelmap modelmap, @requestparam(value = "paramtest") integer param1, integer param2) {
   modelmap.addattribute("param1", param1);
   modelmap.addattribute("param2", param2);
   return "hello";
 }

在param1前面加上了注解,這時候第一個參數只接受paramtest名字的參數,param1此時無效了。

如果此時我們這么請求:

http://localhost:8080/hello1.htm?param1=1¶m2=2

spring直接報錯,必須要這么請求了:

http://localhost:8080/hello1.htm?paramtest=1¶m2=2

結果:

 詳解Spring Boot Web項目之參數綁定

 第四種情況:

有時候頁面上的表單客戶不填任何值,但是在控制器里希望它有默認值

可以這樣:

?
1
2
3
4
5
6
@requestmapping(value = "/hello1.htm")
public string hello1(modelmap modelmap, @requestparam(defaultvalue = "5") integer param1, integer param2) {
  modelmap.addattribute("param1", param1);
  modelmap.addattribute("param2", param2);
  return "hello";
}

這里用了requestparam的defaultvalue屬性,如果url參數中沒傳param1,也不會報錯,使用默認值,比如我們這么請求:

http://localhost:8080/hello1.htm?param2=2

結果:

詳解Spring Boot Web項目之參數綁定

但是,如果url中對param1賦值了:

http://localhost:8080/hello1.htm?param1=3¶m2=2

結果:

 詳解Spring Boot Web項目之參數綁定

也就是說,我們賦的值會修改默認值

第五種情況:

requestparam還有個屬性:required

意思是必須傳值,否則報錯,就是這么任性

?
1
2
3
4
5
6
@requestmapping(value = "/hello1.htm")
public string hello1(modelmap modelmap, @requestparam(required = true) integer param1, integer param2) {
  modelmap.addattribute("param1", param1);
  modelmap.addattribute("param2", param2);
  return "hello";
}

但是當required=true,和defaultvalue= 同時出現時,required失效,可傳可不傳

簡單類型參數綁定小結:

springmvc默認根據參數名字來綁定,而不是參數位置

使用包裝類型,否則如果不傳值,會報錯

使用@requestparam(value="")來改變參數名字

使用@requestparam(defaultvalue=""),不傳參時,使用默認值

使用@requestparam(required=true),強制必須傳參數

 二、@pathvariable

用這個注解可以將url中的占位符參數綁定到控制器處理方法的入參中,可以這樣用:

?
1
2
3
4
5
6
7
8
@requestmapping("/hello2.htm/{param1}/{param2}")
public string hello2(modelmap modelmap, @pathvariable integer param1, @pathvariable integer param2) {
  system.out.println("進入了hello2控制器");
  system.out.println(param1 + "," + param2);
  modelmap.addattribute("param1", param1);
  modelmap.addattribute("param2", param2);
  return "hello";
}

url:

http://localhost:8080/hello2.htm/1/2

結果:

 詳解Spring Boot Web項目之參數綁定

如果不加pathvariable注解,是無法綁定的

?
1
2
3
4
5
6
7
8
@requestmapping("/hello2.htm/{param1}/{param2}")
public string hello2(modelmap modelmap,integer param1, @pathvariable integer param2) {
  system.out.println("進入了hello2控制器");
  system.out.println(param1 + "," + param2);
  modelmap.addattribute("param1", param1);
  modelmap.addattribute("param2", param2);
  return "hello";
}

去掉了第一個參數的注解:

http://localhost:8080/hello2.htm/1/2

結果:

詳解Spring Boot Web項目之參數綁定

傳了空值到頁面,無法綁定

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/nicekk/p/6072130.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久草视频在线观 | 日日干狠狠干 | 久久久网 | 一区二区三区四区在线视频 | 九九福利| 久久成人精品视频 | 在线毛片观看 | 国产精品毛片久久久久久久明星 | 蜜桃视频一区 | 天天色av | 在线精品亚洲欧美日韩国产 | 欧美视频精品在线 | 国产精品美女久久久久久免费 | 在线中文视频 | 日日干夜夜骑 | 亚洲视频免费观看 | 国产毛片毛片 | 精品一区在线 | 看av的网址 | 成人免费影院 | 日韩视频精品在线 | 91精品国产91久久久久久 | 国产黄色小视频在线观看 | 欧美黄色一区 | 久久久久久久国产精品视频 | 中文字幕一区二区三区四区五区 | 久久只有精品 | 中文字幕第二十六页页 | 91在线观看高清视频 | 青娱乐自拍偷拍 | 99成人在线| 色综合视频在线观看 | 成年人精品视频 | 国产欧美一区二区精品性色 | 欧美午夜精品久久久久久浪潮 | 日本精品一区二区三区在线观看视频 | 欧美日韩美女 | 欧美free性丝袜xxxxhd | 在线中文视频 | 色精品 | 国产精品久久久久久久午夜片 |