溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Mvc中傳遞參數方法之url/requestMapping詳解

發(fā)布時間:2020-09-09 12:46:47 來源:腳本之家 閱讀:159 作者:果感 欄目:編程語言

前言

相信大家在使用spring的項目中,前臺傳遞參數到后臺是經常遇到的事, 我們必須熟練掌握一些常用的參數傳遞方式和注解的使用,本文將給大家介紹關于Spring Mvc中傳遞參數方法之url/requestMapping的相關內容,分享出來供大家參考學習,話不多說,直接上正文。

方法如下

1. @requestMapping: 類級別和方法級別的注解, 指明前后臺解析的路徑。 有value屬性(一個參數時默認)指定url路徑解析,method屬性指定提交方式(默認為get提交)

@RequestMapping(value = "/testing")

public class QuestionSetDisplayController extends BaseController {} 


@RequestMapping(value = "/applicant/recover")

 public BaseModel recover(String cellphone) throws OTPException {

  return userService.recover(cellphone);

 } 

2. @RequestParam: 請求參數規(guī)則注解。 value屬性匹配前臺傳遞的參數(一個參數時默認),required屬性此字段是否必須傳值(boolean,默認為true),defaultValue此參數的默認值(存在此參數時,說明前臺不必需傳遞參數,required為false)

@RequestMapping("/login") //url: /login?name=tom

 public String login(@RequestParam(value="age",required=false,defaultValue="24") String agenum,@RequestParam("name") String name){

  return "hello";

 } 

3. @PathVariable: url參數注解, 一般用于從url中獲取參數

@RequestMapping(value = "/system/getAllCodeTableData/{category}", method = RequestMethod.GET) //前臺url: '/system/getAllCodeTableData/APPLICANT_ENGLISH' 
public List<CodeTableModel> getCodeTableModelByCategory(@PathVariable String category) throws OTPException {<br>     return codeTableService.getCodeTableModelByCategory(category); <br>} 

4. 特殊的 屬性編輯器 在前臺到后臺data日期類型等的轉化會出錯,此時我們需要屬性編輯器進行屬性的轉化 //日期傳遞參數會產生異常,因此在傳遞時間參數時,需要進行類型轉換,在初始化時進行數據的綁定與轉化

@RequestMapping(value="/todate/{data}",method=RequestMethod.GET)

 public String todate(@PathVariable("data") Date date){

  System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));

  return "start";

 }

 @InitBinder //初始化參數綁定, 日期類型的轉化,

 public void initBinder(ServletRequestDataBinder binder){

  binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));

 } 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI