亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于前臺頁面傳遞數據到后臺 數據類型的問題

關于前臺頁面傳遞數據到后臺 數據類型的問題

婷婷同學_ 2018-12-20 18:15:30
之前百度了一下 大家都說前臺傳遞到后臺的數據類型是String 那我想問下 如果傳遞是"true"或者"false"這樣的字符串 我使用boolean類型也可以接收 傳遞"123"到后臺 我用int也可以接收 這里面貌似存在轉換 這個到底是什么情況?想不明白,請大家指點一下,感謝.(表現層我用的是springmvc)
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

這里面確實存在著轉換 —— 并且這個工作是 SpringMVC 替你做的。比如你的前臺傳遞 a=123&b=true 到后臺,接收的方法是 Controller 中 doPost 的方法:


如果你這樣寫,這么 "123" 和 "true" 都將作為字符串賦值給 a 和 b:


@PostMapping("someURL")

public String doPost(String a, String b) {

    ...

}

如果你寫的是:


@PostMapping("someURL")

public String doPost(int a, boolean b) {

    ...

}

那么 SpringMVC 會嘗試替你轉換,比如將 "123" 轉為整數 123,將 "true" 轉為布爾值 true。為什么說是嘗試呢?因為假設你傳遞的是 a=hello&b=world,那么 SpringMVC 嘗試將 "hello" 轉為 int 或者嘗試將 "world" 轉為 boolean 就會失敗,那么 SpringMVC 的處理方式是讓這次 POST 請求與上面的方法對應的 URL 不匹配,繼續嘗試尋找下一個能夠匹配的方法。


查看完整回答
反對 回復 2019-01-17
  • 1 回答
  • 0 關注
  • 1537 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號