DUOMENŲ LENTELĖS NAUDOJIMAS JSF. - Kodo paspaudimas

Dalintis

DUOMENŲ LENTELĖS NAUDOJIMAS JSF.

Skelbimai

Iš anksto nustatytos lentelės pavyzdys.
Šioje laboratorijoje pamatysime paprastą pavyzdį, rodantį, kaip naudoti DataTable komponentą. Šis elementas leidžia mums susieti duomenų lentelę su mūsų puslapiu taip:

Šiame pirmame pavyzdyje iš mūsų pupelių klasės bus susietas tik anksčiau užpildytas komponentas, vėliau bus parodyta, kaip dinamiškai manipuliuoti jo informacija.

Iš pradžių sukursime JSF projektą su tokia struktūra:

Kaip matome, sukuriamos 2 java klasės, viena atitinka asmenų klasę, kuri leidžia apdoroti žmones, kuriuos ketiname rodyti savo lentelėje, o kita – pupelę, kuri leis tvarkyti savo lentelę su atitinkamu stulpelius ir įrašus.
Person.java klasė pateikia mums pagrindinius asmens duomenis, kuriuos ketiname rodyti lentelėje, čia pridedame atitinkamą rinkinį ir gauname metodus, taip pat konstruktorių su parametrais, kuriais galima tiesiogiai užpildyti žmones.



TablaBean.java klasė nurodo lentelę ir joje esančių žmonių valdymą, rodomi įrašai yra saugomi ArrayList asmens tipu, kuris šio vadovo tikslais užpildomas konstruktoriuje.


Index.xhtml sukuriame komponentą DataTable, su kuriuo tiesiogiai susiejame žmonių sąrašą vertėje, o atitinkamuose stulpeliuose - pupelės, kuri yra nuoroda į var=”data, atributus, o duomenys yra duomenis reprezentuojantis elementas objekto Asmuo kiekvienoje lentelės eilutėje.



Ją vykdydami turėsime kažką panašaus


Kaip matome, informacija pateikiama lentelės režimu, kadangi dar nesusiejome CSS stilių, vertiname tik eilučių ir stulpelių struktūrą be jokio dizaino, tačiau prie lentelės galime pridėti „border“ savybę ir paraštė, turinti kažką panašaus į tai:


Pagaliau žinome, kad galime pasinaudoti pateikti informaciją struktūriškiau.


Duomenų tvarkymo „DataTable“ pavyzdys.
Šiame skyriuje tęsime ankstesnį pavyzdį, kuriame pamatysime, kaip manipuliuoti lentelės duomenimis, kad būtų atlikti įprasti procesai, tokie kaip informacijos registravimas, keitimas ar ištrynimas.


Pridėti žmonių.
Norėdami užregistruoti žmones, pakeisime savo index.xhtml puslapį, su kuriuo susiesime žmonių registracijos formą. Tai darome susiedami įvesties ir pasirinkimo komponentus tinklelio skydelyje, tinkamai susietame su objektu „myPerson“, kuriam siunčiami skirtingi duomenys. Registro atributus, tada susiejamas mygtukas, kuris iškviečia „addPerson()“ metodą, kuris leis mūsų sistemoje užregistruojamas naujas asmuo.

Kaip matome, šie nauji elementai pridedami prieš DataTable gaunant tokį rezultatą:

Pakeitę indeksą, atliksime reikiamus TableBean.java klasės pakeitimus, nes šiame pavyzdyje toliau naudosime numatytąjį apimties lygį, todėl žmonių sąrašą padarysime statinį, kad juo būtų galima manipuliuoti be jokių problemų, papildomai pašalinsime sąrašo užpildymą, nes idėja yra galimybė registruoti žmones naudojant registracijos formą.



Kaip matome, kai apibrėžiame sąrašą kaip statinį, sukuriame jo egzempliorių klasės lygiu, konstruktoriuje to nedarome, nes tai bus iškviesta įvairiomis progomis mūsų jsf, o tai sukeltų naują sąrašo egzempliorių, kuris prarasti informaciją, kuri gali būti joje.

Be to, pridėjome asmens tipo objektą, kad galėtume tvarkyti registracijos duomenis, ir pridėjome metodą „aggregarPersona()“, kuris leidžia įtraukti į sąrašą naują elementą ir yra iškviečiamas iš jsf mygtuko, vėliau sugeneruojame naują egzempliorių „minhaPessoa“ objektas, kuris leis išvalyti registracijos formą.



Vykdydami sistemą matysime tokį elgesį:



Iš pradžių forma tuščia ir rodoma ir mūsų lentelės antraštė, bet be jokio turinio (atminkite, kad panaikinome sąrašo pildymą), todėl antraštės nerodoma, kai dar nėra užsiregistravusių žmonių, todėl naudojame „pateikta“ nuosavybė, kai patvirtiname, kad sąrašo dydis yra didesnis nei nulis, kitaip antraštės neturėtų būti rodomos. (Šio turto eksploatacija bus išsamiai aptarta vėliau)

Kai pridedame žmones, jie išsaugomi sąraše ir pateikiami duomenų lentelėje

Ištrinti žmones.
Sėkmingai užregistravę žmones į savo sąrašą, galime juos pašalinti iš jo. Norėdami tai padaryti, į savo duomenų lentelę įtrauksime naują veiksmų stulpelį, kuriame bus nuoroda į metodą „eliminatePerson()“, kurį sukursime savo pupelėje.


Norėdami tai padaryti, modifikuojame index.xhtml, kur po stulpelio „Seksas“ pridėsime stulpelį „Veiksmai“


Kaip matome, mes naudojame komponentą o veiksme vadiname „eliminarPersona()“ metodą, kuriam kaip parametrą išsiųsime reikšmę „data“, prisimindami, kad duomenys yra lygiaverčiai sąrašo objektui, kuris rodomas konkrečioje eilutėje.

Vėliau TablaBean.java klasėje pridėjome metodą „eliminarPersona()“, kuris kaip parametrą gauna asmens objektą, kurį norime ištrinti. Tai atitinka „duomenis“, kuriuos siunčiame iš jsf, ir yra lygiavertis asmeniui eilutę, kurią norime ištrinti, kad pašalintumėte ją iš sąrašo.

Paleidę sistemą turėsime šiuos dalykus:

Ir kiekvieną kartą, kai ištrinsime įrašą per atitinkamą nuorodą, lentelė bus atnaujinta

Redaguoti žmones.
Sėkmingai užregistravę ir ištrynę žmones iš sąrašo, galime juos modifikuoti, tam pakeisime lentelę, kad ją būtų galima redaguoti, kai norime atnaujinti kai kuriuos duomenis, tam vėl naudosime ypatybę „pateikta“, kuri parodys arba paslėpti parinktis, kurias galima redaguoti, atsižvelgiant į tai, ką vartotojas nusprendžia.


Kaip matome kiekviename stulpelyje, pridedamas komponentas kuris pagal numatytuosius nustatymus bus paslėptas dėl „pateiktos“ nuosavybės, leidžiančios saugoti teisingus arba klaidingus duomenis, kad būtų rodomas arba slėptas pridedamas komponentas.

Mūsų atveju „data.edit“ iškviečia loginį kintamąjį (redaguoti), kurį įtraukėme į klasę Asmuo, jei ypatybė teisinga, ji parodys leisti redaguoti, bet jei ypatybė yra teisinga false (netiesa), bus rodoma


Tą patį reikia padaryti atitinkamai profesijos, atlyginimo ir lyties stulpeliams, kur vietoj to reikia pridėti a į pastarąjį, a nes formoje naudojame pasirinkimo kombinaciją iš šio kelio:


Panašiai, pateiktoje ypatybėje, atsižvelgiant į atvejį, turi būti rodomas derinys arba etiketė.

Vėliau keičiamas stulpelis „Veiksmai“, kur anksčiau turėjome tik nuorodą į „Ištrinti“, dabar pridėsime dar 2 nuorodas, viena skirta „redaguoti“, kita – „išsaugoti“ informaciją po redagavimo.



Kaip matome, dabar yra 3 atitinkamai redagavimo, išsaugojimo ir ištrynimo būdams skirtos nuorodos, tačiau redagavimas ir išsaugojimas turi tokią ypatybę, kuri leidžia matyti tik 2 iš 3 nuorodų vienu metu (atminkite, kad pateiktoje nuorodoje yra teisinga arba klaidinga su sąlyga ), todėl pagal numatytuosius nustatymus ištrynimo nuoroda visada bus rodoma, nes ji neturi pateiktos nuosavybės, o redagavimas ir išsaugojimas niekada nebus matomi kartu. (leidžia pridėti tarpą tarp nuorodų)

Viduje, grafiniu lygiu, duomenų lentelė atrodytų taip:


Nors grafiškai galite matyti visus komponentus kartu, svarbu aiškiai suprasti, kad pateiktoje ypatybėje bus rodomi tik komponentai, priklausantys nuo tikrosios ar klaidingos reikšmės tuo metu.

Pakeitus index.xhtml, atėjo laikas modifikuoti klasę Person.java, prie kurios pridedama aukščiau paminėto atvaizduotojo naudojama „edit“ ypatybė.


Kaip matome, naujas loginis atributas yra susietas su atitinkamu rinkiniu ir gauti. Be to, norėdami pakoreguoti pratimo struktūrą, pridėjome savybę prie parametruoto konstruktoriaus, nors šiuo metu ji nebenaudojama.

Tokiu būdu kiekvieną kartą, kai rendered=”#{data.edit}” daroma index.xhtml, būtų iškviečiamas šis kintamasis, kuris leistų rodyti arba slėpti komponentus, priklausomai nuo atvejo.


Galiausiai, su ankstesniais pakeitimais, pradėjome modifikuoti pupelių klasę, kur turime pridėti atitinkamus metodus, kai ištrinsime ir išsaugome, kurie iškviečiami iš lauko „Veiksmai“.


Kaip matome, metodas editPersona() gauna asmens objektą (iš jsf iškvietimo, kaip tai daroma trynimo metodu) ir jo ypatybė "edit" modifikuojama siunčiant reikšmę true, kuri leis šį įrašą paslėpti. į ir parodyti ir atlikti norimą modifikaciją.

Kita vertus, metodas savePersona() bus atsakingas už kiekvienos visų sąrašo objektų „redagavimo“ ypatybės pakeitimą į „false“, kad duomenų lentelė būtų atkurta su žmonių reikšmėmis, o ne su redaguojamais elementais.


Paleidę sistemą turėsime šiuos dalykus:


Ir kai paspausite redaguoti, sistema pasikeičia į:

Kaip matote, spustelėjus redagavimo nuorodą, redaguojami komponentai automatiškai rodomi, o neredaguojami komponentai yra paslėpti, taip pat redagavimo nuoroda išnyksta, kad būtų išsaugota nuoroda, kaip paaiškinta aukščiau.

Ir pasiruošę!!!

Savo tinklaraštyje ir savo kanale dalinuosi medžiaga apie šią puikią programavimo kalbą, galite rasti daug straipsnių ir vaizdo įrašai nuo nulioParodau jums, kaip atsisiųsti reikiamus įrankius, kad pradėtumėte programuoti, mes vis labiau gilinamės į pagrindines sąvokas, objektinio programavimo koncepcijosstandartus, temomisduomenų struktūros, prieiga prie duomenų bazių, be kita ko, prie kūrimo programos su vartotojo sąsajomis.

Taip pat galite rasti a kursą nuo nulio, kur mokau kurti programas mobiliesiems Android per žingsnis po žingsnio vaizdo įrašų seką, kuri nuolat atnaujinama.


O dabar aš taip pat pradėsiu nuo nulio, kai įeisime į „Java Enterprise Edition“ pasaulį, parodysiu, kaip nustatyti kūrimo aplinką ir kaip sukurti pirmąsias žiniatinklio programas naudojant „Java“.


Todėl kviečiu apsilankyti codejavu.blogspot.com, apsilankyti mano kanalas Cristian Henao ir kad jie puikiai žino apie naujus tęsinius

Tai taip pat gali jus sudominti.

Ar norite ką nors pridėti ar pakomentuoti apie šį įrašą? drąsiai daryk….o jei patiko, kviečiu pasidalinti y Prenumeruokite spustelėdami mygtuką „Prisijungti prie šios svetainės“, kad išgirstumėte daugiau tokių įrašų 😉