最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
  • SpringMVC——Map的數(shù)據(jù)綁定

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


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

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

    訪(fǎng)問(wèn)地址:https://img1.sycdn.imooc.com/5d12d8e30001cf1309040193.jpg

    SpringMVC對(duì)Set類(lèi)型數(shù)據(jù)綁定支持不夠好

    如果實(shí)體類(lèi)Student重寫(xiě)了equals和hashcode方法,那么再次綁定就會(huì)綁定一個(gè)對(duì)象,也就是集合中只有一個(gè)對(duì)象,如圖一,當(dāng)我我們?cè)趗rl中通過(guò)http://localhost:8080/setParam?set[0].name=Tom&set[1].name=Tom傳參數(shù)時(shí),會(huì)報(bào)錯(cuò),對(duì)于集合綁定優(yōu)先使用List進(jìn)行綁定。


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

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

    案例:后臺(tái)抽象一個(gè)Student對(duì)象,有一個(gè)name屬性和一個(gè)Email屬性,提交信息時(shí)候,需要把學(xué)生1和學(xué)生2的name和Email同時(shí)綁定到后臺(tái),List就應(yīng)用到這種場(chǎng)景,SpringMVC對(duì)于集合綁定,需要專(zhuān)門(mén)創(chuàng)建一個(gè)類(lèi)提供一個(gè)集合,并且集合的泛型為User,如圖二,也就是Controller的方法里使用提供集合的類(lèi)作為參數(shù),如圖3,這里訪(fǎng)問(wèn)的是下一級(jí),也就是使用提供集合類(lèi)的屬性u(píng)sers傳入?yún)?shù),list.do?users[0].name=Tom&users[1].name=Lucy,如果url中下標(biāo)直接寫(xiě)20,則這個(gè)數(shù)組的長(zhǎng)度為21,也就是數(shù)組中有很多空對(duì)象,請(qǐng)求的索引一定是連續(xù)的,否則浪費(fèi)內(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ù)——同屬性的多對(duì)象(兩個(gè)類(lèi)具有相同的屬性)

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

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

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

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

    查看全部
    0 采集 收起 來(lái)源:同屬性的多對(duì)象

    2019-06-24

  • 本章主要介紹簡(jiǎn)單對(duì)象、復(fù)雜對(duì)象的數(shù)據(jù)綁定以及常遇到的問(wèn)題

    SpringMVC數(shù)據(jù)綁定——簡(jiǎn)單對(duì)象、多層級(jí)對(duì)象、同屬性對(duì)象。

    簡(jiǎn)單對(duì)象:首先需要?jiǎng)?chuàng)建一個(gè)對(duì)象類(lèi),然后在Controller的方法里引用該對(duì)象。

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

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

    多層級(jí)對(duì)象:方法參數(shù)里的對(duì)象里面有一個(gè)依賴(lài)其它類(lèi)的屬性

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

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

    SpringMVC綁定數(shù)據(jù)——包裝類(lèi):可以不傳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ù)綁定——基本類(lèi)型處理

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

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

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

    查看全部
    0 采集 收起 來(lái)源:基本類(lèi)型處理

    2019-06-24

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

    例如:age屬性可以使用int和Integer進(jìn)行修飾。

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

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

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

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

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

    查看全部
    1 采集 收起 來(lái)源:簡(jiǎn)介

    2019-06-24

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

    eclipse————intellij idea

    workspace ? ? ? ? ? ? ? ? project

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

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

    【一】數(shù)據(jù)綁定概念:簡(jiǎn)單綁定是將一個(gè)用戶(hù)界面元素(控件)的屬性綁定到一個(gè)類(lèi)型(對(duì)象)實(shí)例上的某個(gè)屬性的方法。

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

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

    【四】簡(jiǎn)單對(duì)象、多層級(jí)對(duì)象、同屬性多對(duì)象的數(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ù)傳輸在實(shí)際應(yīng)用經(jīng)常使用,因?yàn)槟承?duì)象數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜)。

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

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

    【九】課程總結(jié)(總結(jié)重點(diǎn)知識(shí)點(diǎn)和碰到的問(wèn)題以及避免的問(wèn)題)



    查看全部
  • 自定義一個(gè)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);
    }


    查看全部
    1 采集 收起 來(lái)源:Converter的應(yīng)用

    2019-04-27

  • 定義一個(gè)日期格式化工具類(lèi)

    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);
    ????}
    }

    注冊(cè)自定義的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);
    ????}
    }

    測(cè)試使用

    ????/**
    ?????*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){
    //????????//指定處理類(lèi)型,自定義數(shù)據(jù)處理器,處理器允許requestParam值為空
    //????????binder.registerCustomEditor(Date.class,new?CustomDateEditor(DateUtil.S_DAY_DATEFORMAT,true));
    //????}


    查看全部
    1 采集 收起 來(lái)源:Formatter的應(yīng)用

    2019-04-27

  • /**
    ?*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){
    ????//指定處理類(lèi)型,自定義日期數(shù)據(jù)處理器,處理器允許requestParam值為空
    ????binder.registerCustomEditor(Date.class,new?CustomDateEditor(new?SimpleDateFormat("yyyy-MM-dd"),true));
    }



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

    一、封裝list的類(lèi)

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


    二、使用封裝了list的類(lèi)接受


    /**
    ?*
    ?[
    ?{
    ?"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,請(qǐng)求參數(shù)為json字符串格式,前提是有json的轉(zhuǎn)換器

    一、向list類(lèi)型參數(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);
    }


    對(duì)于基本類(lèi)型,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){
    
    }


    查看全部
  • 包裝類(lèi)可以為空

    查看全部
    0 采集 收起 來(lái)源:簡(jiǎn)介

    2019-03-17

舉報(bào)

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

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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

友情提示:

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