第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • SpringMVC——Map的數(shù)據(jù)綁定

    案例:同樣需要一個類UserMapForm,聲明一個私有的Map<String,User> users,并提供set/get方法和toString方法,Controller中,如下圖二。


    https://img2.sycdn.imooc.com/5d1357660001e39507670533.jpg

    https://img3.sycdn.imooc.com/5d135767000179a208320197.jpg


    參數(shù)的傳遞方式:

    https://img1.sycdn.imooc.com//5d135fb70001ad9c11850098.jpg

    查看全部
  • SpringMVC——Set的數(shù)據(jù)綁定

    案例:Set應(yīng)用場景,抽象一個Student對象,有一個name屬性和一個Email屬性,提交信息時候,需要把學(xué)生1和學(xué)生2的name和Email同時綁定到后臺,Set和List還是有一些區(qū)別的,它需要先初始化Set(也就是Set集合的長度要大于0,這里在提供集合的類里對Set初始化,添加若干元素),而List是不需要的,而且Set數(shù)據(jù)綁定在實際應(yīng)用中,經(jīng)常用作對象的重復(fù)判斷,或者排除重復(fù),例如:Student對象有一個name和Email,如果name和Email都相等時,那么這個對象是重復(fù)的,會重寫hashcode方法和equals方法,然后在里面寫重復(fù)判斷的邏輯,SpringMVC對于Set集合的綁定,如果學(xué)生1和學(xué)生2傳來的name和Email是一樣的就會綁定到一個對象上。


    https://img1.sycdn.imooc.com/5d12d81c00014d9106830536.jpg

    https://img4.sycdn.imooc.com/5d12d5c400018d4010520250.jpg

    訪問地址:https://img1.sycdn.imooc.com/5d12d8e30001cf1309040193.jpg

    SpringMVC對Set類型數(shù)據(jù)綁定支持不夠好

    如果實體類Student重寫了equals和hashcode方法,那么再次綁定就會綁定一個對象,也就是集合中只有一個對象,如圖一,當(dāng)我我們在url中通過http://localhost:8080/setParam?set[0].name=Tom&set[1].name=Tom傳參數(shù)時,會報錯,對于集合綁定優(yōu)先使用List進行綁定。


    查看全部
  • 本章主要介紹List、Set、Map結(jié)構(gòu)的數(shù)據(jù)綁定以及坑

    知識點1:List的數(shù)據(jù)綁定

    案例:后臺抽象一個Student對象,有一個name屬性和一個Email屬性,提交信息時候,需要把學(xué)生1和學(xué)生2的name和Email同時綁定到后臺,List就應(yīng)用到這種場景,SpringMVC對于集合綁定,需要專門創(chuàng)建一個類提供一個集合,并且集合的泛型為User,如圖二,也就是Controller的方法里使用提供集合的類作為參數(shù),如圖3,這里訪問的是下一級,也就是使用提供集合類的屬性users傳入?yún)?shù),list.do?users[0].name=Tom&users[1].name=Lucy,如果url中下標直接寫20,則這個數(shù)組的長度為21,也就是數(shù)組中有很多空對象,請求的索引一定是連續(xù)的,否則浪費內(nèi)存資源,如最后一張圖。https://img1.sycdn.imooc.com//5d121727000101eb04100229.jpg

    https://img1.sycdn.imooc.com//5d1219af0001380a08250207.jpghttps://img1.sycdn.imooc.com//5d1219ef0001d62812030334.jpg

    查看全部
  • SpringMVC綁定數(shù)據(jù)——同屬性的多對象(兩個類具有相同的屬性)

    @InitBinder注解:訪問Controller時,執(zhí)行相應(yīng)方法前,會首先執(zhí)行該注解下的方法進行一個初始化,然后再執(zhí)行相應(yīng)的方法。

    案例:User類和Admin類具有相同的屬性name和age,如果直接在請求中傳入name=?&age=?,那么User類和Admin類的屬性都會被賦值為相同的值,如果想?yún)^(qū)分并賦值,如下圖。

    https://img1.sycdn.imooc.com//5d10b469000114e004820295.jpg

    https://img1.sycdn.imooc.com//5d10b5e300011ca310790186.jpg

    查看全部
  • 本章主要介紹簡單對象、復(fù)雜對象的數(shù)據(jù)綁定以及常遇到的問題

    SpringMVC數(shù)據(jù)綁定——簡單對象、多層級對象、同屬性對象。

    簡單對象:首先需要創(chuàng)建一個對象類,然后在Controller的方法里引用該對象。

    https://img1.sycdn.imooc.com//5d10aebb00016a0203930139.jpg

    https://img1.sycdn.imooc.com//5d10aef20001e91506640067.jpg

    多層級對象:方法參數(shù)里的對象里面有一個依賴其它類的屬性

    https://img1.sycdn.imooc.com//5d10b0d50001b16104720150.jpghttps://img1.sycdn.imooc.com//5d10b1830001be8307480210.jpg

    查看全部
  • 包裝類和數(shù)組的處理

    SpringMVC綁定數(shù)據(jù)——包裝類:可以不傳key,可以不給方法參數(shù)傳值,但是如果使用@RequestParam修飾了就必須給數(shù)據(jù)傳值。

    https://img1.sycdn.imooc.com//5d10825000016fb104110161.jpg

    SpringMVC綁定數(shù)據(jù)——數(shù)組

    https://img1.sycdn.imooc.com//5d10837100015dc904380189.jpghttps://img1.sycdn.imooc.com//5d1085c6000148a309210146.jpg

    查看全部
  • SpringMVC數(shù)據(jù)綁定——基本類型處理

    @ResponseBody:方法的返回值,會放到Response的body的數(shù)據(jù)區(qū)里。

    @RequestParam:有三個屬性value、required、defaultValue,value是給傳入的參數(shù)起別名,required是必須要傳入的參數(shù),默認為true,defaultValue代表如果不傳會賦予默認值。

    https://img1.sycdn.imooc.com//5d104698000118e306450221.jpg

    查看全部
    0 采集 收起 來源:基本類型處理

    2019-06-24

  • SpringMVC數(shù)據(jù)綁定——基本類型、包裝類型、數(shù)組類型綁定

    例如:age屬性可以使用int和Integer進行修飾。

    【a】使用基本類型int修飾age屬性:key是必須傳的(并且必須傳入value),并且age的value范圍和類型必須是int類型范圍,如果傳入的參數(shù)是字符串則會報400錯誤異常,如果沒有傳age,則會報500錯誤。

    https://img1.sycdn.imooc.com//5d102e480001ce2006610369.jpghttps://img1.sycdn.imooc.com//5d102ead0001a38606860391.jpg

    【b】使用包裝類型Integer修飾age屬性:可以不用傳入key,Integer類型的age可以為null,所以開發(fā)過程中對于可能為空的數(shù)據(jù)設(shè)置為包裝類型,當(dāng)然也需要@RequestParam注解對其進行配置。

    https://img1.sycdn.imooc.com//5d102f0d000182ec05410183.jpg

    使用數(shù)組進行數(shù)據(jù)綁定:一次可以傳多個,可以是基本類型、包裝類型、String的對象類型。

    查看全部
    1 采集 收起 來源:簡介

    2019-06-24

  • Intellij IDEA簡介以及創(chuàng)建SpirngMVC項目

    eclipse————intellij idea

    workspace ? ? ? ? ? ? ? ? project

    ?project ? ? ? ? ? ? ? ? ? ? ?module

    查看全部
  • SpringMVC數(shù)據(jù)綁定課程概述

    【一】數(shù)據(jù)綁定概念:簡單綁定是將一個用戶界面元素(控件)的屬性綁定到一個類型(對象)實例上的某個屬性的方法。

    【二】IDE——intellij idea簡介以及intellij idea創(chuàng)建springMVC項目。

    【三】基本類型、包裝類型(例如:年齡是使用int還是Integer)、數(shù)組類型的數(shù)據(jù)綁定。

    【四】簡單對象、多層級對象、同屬性多對象的數(shù)據(jù)綁定。

    【五】List、Set、Map數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)綁定。

    【六】Json和Xml數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)綁定(Json和Xml的數(shù)據(jù)傳輸在實際應(yīng)用經(jīng)常使用,因為某些對象數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜)。

    【七】PropertyEditor、Formatter、Converter,創(chuàng)建局部類型轉(zhuǎn)換器和全局類型轉(zhuǎn)換器。

    【八】RESTful擴展及應(yīng)用場景

    【九】課程總結(jié)(總結(jié)重點知識點和碰到的問題以及避免的問題)



    查看全部
  • 自定義一個converter

    /**
    ?*??A?converter?converts?a?source?object?of?type?{@code?String}?to?a?target?of?type?{@code?Date}.
    ?*/
    public?class?MyConverter?implements?Converter<String,Date>{
    ????@Override
    ????public?Date?convert(String?s)?{
    ????????try?{
    ????????????return?DateUtil.S_DAY_DATEFORMAT.parse(s);
    ????????}?catch?(ParseException?e)?{
    ????????????e.printStackTrace();
    ????????}
    ????????return?null;
    ????}
    }

    配置自定義converter

    @Configuration
    public?class?WebMvcConfig?extends?WebMvcConfigurerAdapter?{
    
    //????@Bean
    //????public?Formatter<Date>?myDateFormatter(){
    //????????return?new?MyDateFormatter();
    //????}
    //
    //????@Override
    //????public?void?addFormatters(FormatterRegistry?registry)?{
    //????????registry.addFormatter(myDateFormatter());
    //????????super.addFormatters(registry);
    //????}
    
    ????@Bean
    ????public?Converter?myConverter(){
    ????????return?new?MyConverter();
    ????}
    
    }

    使用

    /**
    ?*date:2018-05-24
    ?*?@param?date
    ?*/
    @PostMapping("date")
    public?void?dateType(Date?date){
    ????System.out.println(date);
    }


    查看全部
  • 定義一個日期格式化工具類

    public?class?DateUtil?{
    
    ????public?static?SimpleDateFormat?S_STANDARD_DATEFORMAT?=?new?SimpleDateFormat("yyyy-MM-dd?HH:mm:ss");
    
    ????public?static?SimpleDateFormat?S_DAY_DATEFORMAT?=?new?SimpleDateFormat("yyyy-MM-dd");

    自定義Formatter

    public?class?MyDateFormatter?implements?Formatter<Date>{
    ????@Override
    ????public?Date?parse(String?text,?Locale?locale)?throws?ParseException?{
    
    ????????return?DateUtil.S_DAY_DATEFORMAT.parse(text);
    ????}
    
    ????@Override
    ????public?String?print(Date?object,?Locale?locale)?{
    
    ????????return?DateUtil.S_DAY_DATEFORMAT.format(object);
    ????}
    }

    注冊自定義的formatter

    @Configuration
    public?class?WebMvcConfig?extends?WebMvcConfigurerAdapter?{
    
    ????@Bean
    ????public?Formatter<Date>?myDateFormatter(){
    ????????return?new?MyDateFormatter();
    ????}
    
    ????@Override
    ????public?void?addFormatters(FormatterRegistry?registry)?{
    ????????registry.addFormatter(myDateFormatter());
    ????????super.addFormatters(registry);
    ????}
    }

    測試使用

    ????/**
    ?????*date:2018-05-24
    ?????*?@param?date
    ?????*/
    ????@PostMapping("date")
    ????public?void?dateType(Date?date){
    ????????System.out.println(date);
    ????}
    ????/**
    ?????*date2:2018-05-24
    ?????*?@param?date2
    ?????*/
    ????@PostMapping("date2")
    ????public?void?dateType2(Date?date2){
    ????????System.out.println(date2);
    ????}
    
    //????/**
    //?????*?InitBinder注解的value為指定requestParam的name
    //?????*?此注解的作用范圍在自身所在controller內(nèi)
    //?????*?@param?binder
    //?????*/
    //????@InitBinder({"date"})
    //????public?void?initDate(WebDataBinder?binder){
    //????????//指定處理類型,自定義數(shù)據(jù)處理器,處理器允許requestParam值為空
    //????????binder.registerCustomEditor(Date.class,new?CustomDateEditor(DateUtil.S_DAY_DATEFORMAT,true));
    //????}


    查看全部
  • /**
    ?*date:2018-05-24
    ?*?@param?date
    ?*/
    @PostMapping("date")
    public?void?dateType(Date?date){
    ????System.out.println(date);
    }
    /**
    ?*date:2018-05-24
    ?*?@param?date2
    ?*/
    @PostMapping("date2")
    public?void?dateType2(@RequestParam("date")?Date?date2){
    ????System.out.println(date2);
    }
    
    /**
    ?*?InitBinder注解的value為指定requestParam的name
    ?*?此注解的作用范圍在自身所在controller內(nèi)
    ?*?@param?binder
    ?*/
    @InitBinder({"date"})
    public?void?initDate(WebDataBinder?binder){
    ????//指定處理類型,自定義日期數(shù)據(jù)處理器,處理器允許requestParam值為空
    ????binder.registerCustomEditor(Date.class,new?CustomDateEditor(new?SimpleDateFormat("yyyy-MM-dd"),true));
    }



    查看全部
  • 老師的方式,請求參數(shù)為item[n]:name=xx&item[m]:name=xxx,也可以傳遞json字符串

    一、封裝list的類

    import?lombok.Data;
    
    import?java.util.List;
    
    @Data
    public?class?FromAdminList?{
    ????List<Admin>?admins;
    
    }


    二、使用封裝了list的類接受


    /**
    ?*
    ?[
    ?{
    ?"username":?"John",
    ?"password":?"Doe",
    ?"age":"11"
    ?},
    ?{
    ?"username":?"Anna",
    ?"password":?"Smith",
    ?"age":"11"
    ?},
    ?{
    ?"username":?"Peter",
    ?"password":?"Jones",
    ?"age":"11"
    ?}
    ?]
    ?*?@param?admins
    ?*/
    
    @PostMapping("admins")
    public?void?listTypeObj(FromAdminList?admins){
    ????System.out.println(admins);
    }


    另一種方式,使用@RequestBody,請求參數(shù)為json字符串格式,前提是有json的轉(zhuǎn)換器

    一、向list類型參數(shù)加上注解@RequestBody

    /**
    ?[
    ?{
    ?"username":?"John",
    ?"password":?"Doe",
    ?"age":"11"
    ?},
    ?{
    ?"username":?"Anna",
    ?"password":?"Smith",
    ?"age":"11"
    ?},
    ?{
    ?"username":?"Peter",
    ?"password":?"Jones",
    ?"age":"11"
    ?}
    ?]
    ?*?@param?admins
    ?*/
    @PostMapping("adminlist")
    public?void?listTypeObj(@RequestBody?List<Admin>?admins){
    ????System.out.println(admins);
    }


    對于基本類型,string都有效

    /**
    ?*
    ?[
    ?"adb",
    ?"xixi",
    ?"多久啊送到家"
    ?]
    ?*?@param?info
    ?*/
    @PostMapping("strs")
    public?void?listTypeStr(@RequestBody?List<String>?info){
    ????System.out.println(info);
    }
    
    /**
    ?[
    ?1,
    ?2,
    ?3
    ?]
    
    ?*?@param?info
    ?*/
    @PostMapping("Ints")
    public?void?listTypeBase(@RequestBody?List<Integer>?info){
    
    }


    查看全部
  • 包裝類可以為空

    查看全部
    0 采集 收起 來源:簡介

    2019-03-17

舉報

0/150
提交
取消
課程須知
學(xué)習(xí)本門課程前需要具備SpringMVC的基礎(chǔ)知識,可以觀看慕課網(wǎng)的《Spring MVC起步》課程;同時小伙伴們需要對Servlet相關(guān)知識要有一定掌握;本課程選用SpringMVC4.0版本。
老師告訴你能學(xué)到什么?
1、SpringMVC常用數(shù)據(jù)結(jié)構(gòu)的綁定 2、SpringMVC數(shù)據(jù)綁定實際工作中容易踩到的坑 3、注解@InitBinder、@RequestParam、@RequestBody、@ResponseBody、@PathVariable注解的使用 4、PropertyEditor、Formatter、Converter。自定義格式化工具和類型轉(zhuǎn)換器 5、RESTful擴展

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!