最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring MVC 請求參數(shù)綁定實現(xiàn)方式

 更新時間:2023年09月21日 10:35:56   作者:共飲一杯無  
Spring MVC 是一個用于構(gòu)建 Web 應(yīng)用程序的框架,它提供了一種方便的方式來處理 HTTP 請求和響應(yīng),Spring MVC 提供了多種方式來實現(xiàn)請求參數(shù)綁定,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友跟隨小編一起看看吧

Spring MVC 是一個用于構(gòu)建 Web 應(yīng)用程序的框架,它提供了一種方便的方式來處理 HTTP 請求和響應(yīng)。在 Spring MVC 中,請求參數(shù)綁定是將 HTTP 請求中的參數(shù)映射到控制器方法的參數(shù)上的過程。Spring MVC 提供了多種方式來實現(xiàn)請求參數(shù)綁定。請求參數(shù)綁定:說?了SpringMVC如何接收請求參數(shù)http協(xié)議(超?本傳輸協(xié)議)原?servlet接收?個整型參數(shù):

String ageStr = request.getParameter("age");
Integer age = Integer.parseInt(ageStr);

SpringMVC框架對Servlet的封裝,簡化了servlet的很多操作SpringMVC在接收整型參數(shù)的時候,直接在Handler?法中聲明形參即可

@RequestMapping("xxx")
public String handle(Integer age) {
	System.out.println(age);
}

參數(shù)綁定:取出參數(shù)值綁定到handler?法的形參上

默認?持 Servlet API 作為?法參數(shù)

當需要使?HttpServletRequest、HttpServletResponse、HttpSession等原?servlet對象時,直接在handler?法中形參聲明使?即可。

/**
*
* SpringMVC 對原?servlet api的?持 url:/demo/handle02?id=1
*
* 如果要在SpringMVC中使?servlet原?對象,?如
HttpServletRequest\HttpServletResponse\HttpSession,直接在Handler?法形參中聲
明使?即可
*
*/
@RequestMapping("/handle02")
public ModelAndView handle02(HttpServletRequest request,HttpServletResponse response,HttpSession session) {
    String id = request.getParameter("id");
    Date date = new Date();
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("date",date);
    modelAndView.setViewName("success");
    return modelAndView;
}

綁定簡單類型參數(shù)

在 Spring MVC 中,您可以通過將控制器方法的參數(shù)與 HTTP 請求中的參數(shù)名匹配來進行簡單參數(shù)的請求參數(shù)綁定。簡單數(shù)據(jù)類型:?種基本數(shù)據(jù)類型及其包裝類型參數(shù)類型推薦使?包裝數(shù)據(jù)類型,因為基礎(chǔ)數(shù)據(jù)類型不可以為null。整型:Integer、int字符串:String單精度:Float、float雙精度:Double、double布爾型:Boolean、boolean說明:對于布爾類型的參數(shù),請求的參數(shù)值為true或false。或者1或0注意:綁定簡單數(shù)據(jù)類型參數(shù),只需要直接聲明形參即可(形參參數(shù)名和傳遞的參數(shù)名要保持?致,建議 使?包裝類型,當形參參數(shù)名和傳遞參數(shù)名不?致時可以使?@RequestParam注解進??動映射)

    /*
    * SpringMVC 接收簡單數(shù)據(jù)類型參數(shù) url:/demo/handle03?id=1
    *
    * 注意:接收簡單數(shù)據(jù)類型參數(shù),直接在handler?法的形參中聲明即可,框架會取出參數(shù)值
    然后綁定到對應(yīng)參數(shù)上
    * 要求:傳遞的參數(shù)名和聲明的形參名稱保持?致
    */
    @RequestMapping("/handle03")
    public ModelAndView handle03(@RequestParam("ids") Integer id,Boolean flag) {
        Date date = new Date();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("date",date);
        modelAndView.setViewName("success");
        return modelAndView;
    }

綁定Pojo類型參數(shù)

自動請求參數(shù)綁定:Spring MVC 還支持自動將請求參數(shù)綁定到對象上。例如,您可以創(chuàng)建一個 POJO(Plain Old Java Object)類,將其屬性與請求參數(shù)名相匹配,Spring MVC 將自動將請求參數(shù)綁定到這個對象上。

    /*
    * SpringMVC接收pojo類型參數(shù) url:/demo/handle04?id=1&username=zhangsan
    *
    * 接收pojo類型參數(shù),直接形參聲明即可,類型就是Pojo的類型,形參名?所謂
    * 但是要求傳遞的參數(shù)名必須和Pojo的屬性名保持?致
    */
    @RequestMapping("/handle04")
    public ModelAndView handle04(User user) {
        Date date = new Date();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("date",date);
        modelAndView.setViewName("success");
        return modelAndView;
    }

綁定Pojo包裝對象參數(shù)

包裝類型 QueryVo

public class QueryVo {
    private String mail;
    private String phone;
    // 嵌套了另外的Pojo對象
    private User user;
    public String getMail() {
    	return mail;
    }
    public void setMail(String mail) {
    	this.mail = mail;
    }
    public String getPhone() {
    	return phone;
    }
    public void setPhone(String phone) {
    	this.phone = phone;
    }
    public User getUser() {
    	return user;
    }
    public void setUser(User user) {
    	this.user = user;
    }
}

Handler?法

    /*
    * SpringMVC接收pojo包裝類型參數(shù) url:/demo/handle05?
    user.id=1&user.username=zhangsan
    * 不管包裝Pojo與否,它?先是?個pojo,那么就可以按照上述pojo的要求來
    * 1、綁定時候直接形參聲明即可
    * 2、傳參參數(shù)名和pojo屬性保持?致,如果不能夠定位數(shù)據(jù)項,那么通過屬性名 + "." 的
    ?式進?步鎖定數(shù)據(jù)
    *
    */
    @RequestMapping("/handle05")
    public ModelAndView handle05(QueryVo queryVo) {
        Date date = new Date();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("date",date);
        modelAndView.setViewName("success");
        return modelAndView;
    }

綁定?期類型參數(shù)(需要配置?定義類型轉(zhuǎn)換器) 前端jsp

后臺Handler?法

    /**
    * 綁定?期類型參數(shù)
    * 定義?個SpringMVC的類型轉(zhuǎn)換器 接?,擴展實現(xiàn)接?接?,注冊你的實現(xiàn)
    * @param birthday
    * @return
    */
    @RequestMapping("/handle06")
    public ModelAndView handle06(Date birthday) {
        Date date = new Date();ModelAndView modelAndView = new
        ModelAndView();
        modelAndView.addObject("date",date);
        modelAndView.setViewName("success");
        return modelAndView;
    }

?定義類型轉(zhuǎn)換器

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author 應(yīng)癲
* ?定義類型轉(zhuǎn)換器
* S:source,源類型
* T:target:?標類型
*/
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String source) {
    // 完成字符串向?期的轉(zhuǎn)換
    SimpleDateFormat simpleDateFormat = new
    SimpleDateFormat("yyyy-MM-dd");
    try {
    Date parse = simpleDateFormat.parse(source);
    return parse;
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return null;
    }
}

注冊?定義類型轉(zhuǎn)換器

<!--
?動注冊最合適的處理器映射器,處理器適配器(調(diào)?handler?法)
-->
<mvc:annotation-driven conversionservice="conversionServiceBean"/>
<!--注冊?定義類型轉(zhuǎn)換器-->
<bean id="conversionServiceBean"
  class="org.springframework.format.support.FormattingConversionServiceF
  actoryBean">
  <property name="converters">
    <set>
      <bean class="com.zjq.converter.DateConverter">
      </bean>
    </set>
  </property>
</bean>

路徑變量參數(shù)

除了請求參數(shù)綁定,Spring MVC 還支持路徑變量的綁定。路徑變量是在 URL 中包含的變量,可以通過 @PathVariable 注解來綁定到控制器方法的參數(shù)上。

@Controller
@RequestMapping("/example")
public class ExampleController {
    @RequestMapping("/process/{id}")
    public String processRequest(@PathVariable("id") Long id) {
        // 使用路徑變量 id 進行處理
    }
}

在上述示例中,@PathVariable 注解用于將路徑變量 “id” 綁定到控制器方法的參數(shù) “id” 上。

到此這篇關(guān)于Spring MVC 請求參數(shù)綁定的文章就介紹到這了,更多相關(guān)Spring MVC 請求參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)合并兩個word文檔內(nèi)容

    Java實現(xiàn)合并兩個word文檔內(nèi)容

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)合并兩個word文檔內(nèi)容,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • Java CRM系統(tǒng)用戶登錄功能實現(xiàn)代碼實例

    Java CRM系統(tǒng)用戶登錄功能實現(xiàn)代碼實例

    這篇文章主要介紹了Java CRM系統(tǒng)用戶登錄功能實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 詳解Java注解的實現(xiàn)與使用方法

    詳解Java注解的實現(xiàn)與使用方法

    這篇文章主要介紹了詳解Java注解的實現(xiàn)與使用方法的相關(guān)資料,希望通過本文大家能夠理解掌握Java注解的知識,需要的朋友可以參考下
    2017-09-09
  • XXL-Job定時任務(wù)時間偏差8小時的問題解決辦法

    XXL-Job定時任務(wù)時間偏差8小時的問題解決辦法

    定時任務(wù)指通過時間表達式調(diào)度執(zhí)行的任務(wù),適用于對賬、提醒、訂單超時等場景,下面這篇文章主要介紹了XXL-Job定時任務(wù)時間偏差8小時的問題解決辦法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-03-03
  • 創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    這篇文章主要介紹了創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot的條件裝配原理及實現(xiàn)思路

    SpringBoot的條件裝配原理及實現(xiàn)思路

    SpringBoot的條件裝配是基于@Conditional注解實現(xiàn)的,下面我們使用原生的@Conditional注解模擬實現(xiàn)類的條件裝配,本文結(jié)合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • java利用pdfbox+poi往pdf插入數(shù)據(jù)

    java利用pdfbox+poi往pdf插入數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-02-02
  • Java高并發(fā)下鎖的優(yōu)化詳解

    Java高并發(fā)下鎖的優(yōu)化詳解

    這篇文章主要介紹了Java高并發(fā)下鎖的優(yōu)化詳解,鎖是最常用的同步方法之一,在高并發(fā)的環(huán)境下,激烈的鎖競爭會導致程序的性能下降,下面是一些關(guān)于鎖的使用建議,可以把這種副作用降到最低,需要的朋友可以參考下
    2024-01-01
  • Java計算文本MD5加密值的方法示例

    Java計算文本MD5加密值的方法示例

    這篇文章主要介紹了Java計算文本MD5加密值的方法,結(jié)合實例形式分析了Java基于security實現(xiàn)md5加密算法進行文本加密相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Java中PriorityQueue實現(xiàn)最小堆和最大堆的用法

    Java中PriorityQueue實現(xiàn)最小堆和最大堆的用法

    很多時候都會遇到PriorityQueue,本文主要介紹了Java中PriorityQueue實現(xiàn)最小堆和最大堆的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評論

竹北市| 修水县| 沭阳县| 罗定市| 专栏| 庆阳市| 郴州市| 来宾市| 峨眉山市| 平定县| 涟水县| 高密市| 英德市| 祁阳县| 红安县| 政和县| 晋江市| 林州市| 钦州市| 尤溪县| 河东区| 唐山市| 墨脱县| 宾川县| 什邡市| 汉川市| 应城市| 全州县| 新巴尔虎左旗| 黄骅市| 宾川县| 建阳市| 乌鲁木齐市| 衡水市| 靖西县| 高平市| 临武县| 股票| 庆阳市| 泰顺县| 武清区|