ANDMETABELI KASUTAMINE JSF-IS. - Koodiklõps

jagada

ANDMETABELI KASUTAMINE JSF-IS.

Reklaamid

Eelmääratletud tabeli näide.
Selles laboris näeme lihtsat näidet, mis näitab, kuidas kasutada DataTable komponenti. See element võimaldab meil linkida andmetabeli meie lehele järgmiselt:

Selle esimese näite puhul lingitakse meie ubaklassist ainult varem asustatud komponent, hiljem näidatakse, kuidas selle teabega dünaamiliselt manipuleerida.

Esialgu loome järgmise struktuuriga JSF-projekti:

Nagu näeme, luuakse 2 java klassi, millest üks vastab isikuklassile, mis võimaldab meil töödelda inimesi, keda me oma tabelis näitame, ja teine ubale, mis võimaldab meil oma tabelit vastavate klassidega hallata. veerud ja kirjed.
Klass Person.java annab meile isiku põhiandmed, mida hakkame tabelis näitama, siia lisame vastava komplekti ja saame meetodid ning konstruktori parameetritega inimeste otse täitmiseks.



Klass TablaBean.java viitab tabelile ja selles olevate inimeste haldamisele, kuvatavad kirjed salvestatakse ArrayList isiktüüpi, mis käesoleva juhendi jaoks täidetakse konstruktoris.


Index.xhtml loome komponendi DataTable, millega seostame inimeste loendi otse väärtuses ja vastavates veergudes selle uba atribuudid, millele viidatakse var=”data”, kusjuures andmed on andmeid esindav element. tabeli igal real asuvast objektist Isik.



Selle käivitamisel on meil midagi sellist


Nagu näeme, esitatakse teave tabelirežiimis, kuna me pole veel CSS-i stiile linkinud, hindame ainult ridade ja veergude struktuuri ilma igasuguse kujunduseta, kuid me saame lisada tabelisse atribuudi "ääris" ja marginaal, millel on midagi sellist:


Lõpuks teame, et saame seda kasutada esitada teavet struktureeritumalt.


Andmehalduse näide DataTable'is.
Selles jaotises jätkame eelmise näitega, kus näeme, kuidas tabeliandmetega manipuleerida, et viia läbi tavalisi protsesse, nagu teabe registreerimine, muutmine või kustutamine.


Lisa inimesi.
Inimeste registreerimiseks muudame oma index.xhtml lehte, millega seome inimeste registreerimisvormi. Selleks ühendame sisend- ja valikukomponendid ruudustikupaneelil, mis on nõuetekohaselt seotud objektiga "myPerson", millele erinevad andmed saadetakse. Registreeri atribuudid, siis seotakse nupp, mis kutsub välja meetodi "addPerson()", mis võimaldab meie süsteemis registreeritakse uus inimene.

Nagu näeme, lisatakse need uued elemendid enne, kui DataTable saab sellise tulemuse:

Pärast indeksi muutmist teeme vajalikud muudatused klassis TableBean.java, kuna antud näites jätkame vaikimisi ulatuse taseme kasutamist, seega muudame inimeste loendi staatiliseks, et sellega saaks probleemideta manipuleerida, lisaks kaotame nimekirja polsterduse, kuna idee on võimaldada inimesi registreerida registreerimisvormi kaudu.



Nagu näeme, loome loendi staatiliseks määramisel selle eksemplari klassi tasemel, me ei tee seda konstruktoris, kuna seda kutsub meie jsf erinevatel juhtudel, mis põhjustab loendi uue eksemplari, mis kaotame teabe, mida see võib sisaldada.

Lisaks lisasime registreerimisandmete haldamiseks objekti tüüpi Isik ja lisasime meetodi “aggregarPersona()”, mis võimaldab loendisse lisada uue elemendi ja mida kutsutakse jsf nupust, hiljem genereerime uue eksemplari objekt “minhaPessoa”, mis võimaldab registreerimisvormi puhastada.



Süsteemi käivitamisel näeme järgmist käitumist:



Algselt on vorm tühi ja kuvatakse ka meie tabeli päis, kuid ilma sisuta (pidage meeles, et loendi täitmisest loobusime), nii et see ei näita päist, kui pole veel registreerunud inimesi, seega kasutame „renderdatud” atribuut, mille puhul kinnitame, et loendi suurus on suurem kui null, vastasel juhul ei tohiks see päiseid kuvada. (Selle kinnisvara toimimist arutatakse üksikasjalikult hiljem)

Kui lisame inimesi, salvestatakse nad loendisse ja esitatakse DataTable-s

Kustuta inimesed.
Pärast inimeste edukat registreerimist oma loendisse saame nad sealt eemaldada. Selleks lisame oma andmetabelisse uue toimingute veeru, mis sisaldab linki meetodile "eliminatePerson()", mille loome oma uba.


Selleks muudame faili index.xhtml, kuhu pärast veergu “Seks” lisame veeru “Toimingud”


Nagu näeme, kasutame komponenti ja toimingus kutsume välja meetodi "eliminarPersona()", millele saadame parameetrina väärtuse "data", pidades meeles, et andmed on samaväärsed loendiobjektiga, mida konkreetsel real kuvatakse.

Hiljem lisasime klassis TablaBean.java meetodi "eliminarPersona()", mis võtab parameetrina vastu isikuobjekti, mille tahame kustutada. See vastab "andmetele", mille saadame jsf-ist ja on samaväärne failis oleva isikuga. rida, mille tahame kustutada, et see seejärel loendist eemaldada.

Süsteemi käivitamisel on meil järgmine:

Ja iga kord, kui kustutame kirje vastava lingi kaudu, värskendatakse tabelit

Muuda inimesi.
Pärast inimeste edukat registreerimist ja loendist kustutamist saame neid muuta, selleks muudame oma tabelit muutes selle redigeeritavaks, kui soovime mõningaid andmeid värskendada, selleks kasutame taas atribuuti "renderdatud", mis näitab või peita redigeeritavad valikud olenevalt kasutaja otsusest.


Nagu näeme igas veerus, lisatakse komponent mis vaikimisi peidetakse tänu "renderdatud" atribuudile, mis võimaldab salvestada tõeseid või valeandmeid, et kuvada või peita kaasnevat komponenti.

Meie puhul kutsub "data.edit" tõeväärtuse muutuja (redigeeri), mille lisasime klassi Isik, kui omadus on tõene, näitab see muutmise lubamiseks, kuid kui atribuut on tõene false (mitte tõene), kuvatakse


Sama tuleb teha vastavalt elukutse, palga ja soo veergudega, kuhu selle asemel, et lisada a viimasele, a kuna vormis kasutame järgmise tee valikukombinatsiooni:


Samamoodi peab renderdatud atribuut olenevalt juhtumist näitama kombinatsiooni või silti.

Seejärel muudetakse veergu "Toimingud", kus varem oli meil ainult link "Kustuta", nüüd lisame veel 2 linki, ühe "redigeerimiseks" ja teise teabe "salvestamiseks" pärast muutmist.



Nagu näeme, on nüüd vastavalt 3 linki muutmis-, salvestamis- ja kustutamismeetodite jaoks, kuid redigeerimisel ja salvestamisel on renderdatud atribuut, mis muudab korraga nähtavaks ainult 2 lingist kolmest (pidage meeles, et renderdatud lingid sisaldavad olenevalt tõest või valest tingimusel ), nii et vaikimisi kuvatakse kustutamislink alati, kuna sellel ei ole renderdatud atribuuti, samas kui redigeerimist ja salvestamist ei kuvata kunagi koos. (võimaldab lisada linkide vahele tühiku)

Sisemiselt näeks andmetabel graafilisel tasemel välja järgmine:


Kuigi graafiliselt näete kõiki komponente koos, on oluline olla väga selge, et renderdatud atribuut kuvab komponente ainult olenevalt tõesest või valest väärtusest.

Peale index.xhtml muutmist on nüüd aeg modifitseerida klassi Person.java, millele on lisatud eelpool mainitud renderdaja poolt kasutatav atribuut “edit”.


Nagu näeme, on uus tõeväärtuslik atribuut lingitud selle vastava komplekti ja hankimisega. Lisaks lisasime harjutuse struktuuri kohandamiseks atribuudi parameetritega konstruktorile, kuigi seda harjutuse praegusel hetkel enam ei kasutata.

Nii kutsuks iga kord renderdatud=”#{data.edit}” failis index.xhtml seda muutujat, mis võimaldaks olenevalt juhtumist komponente näidata või peita.


Lõpuks ja eelmiste muudatustega alustasime Bean klassi muutmist, kuhu tuleb kustutamisel ja salvestamisel lisada vastavad meetodid, mis väljalt “Actions” välja kutsutakse.


Nagu näeme, võtab meetod editPersona() vastu isikuobjekti (jsf-kutsest, nagu seda tehakse kustutamismeetodil) ja selle atribuuti "redigeerimine" muudetakse, saates sellele väärtuse true, mis võimaldab seda kirjet peita. a ja näidata ja soovitud muudatuse tegemiseks.

Teisest küljest vastutab meetod savePersona() selle eest, et kõigi loendis olevate objektide iga "redigeerimise" atribuut muudetaks valeks, nii et andmetabel taastatakse inimeste väärtustega, mitte redigeeritavate elementidega.


Süsteemi käivitamisel on meil järgmine:


Ja kui vajutate redigeerimist, muutub süsteem järgmiseks:

Nagu näha, kuvatakse redigeerimislingil klõpsamisel redigeeritavad komponendid automaatselt, samas kui mitteredigeeritavad on peidetud, samamoodi kaob redigeerimislink, et teha teed salvestamise lingile, nagu eespool selgitatud.

Ja valmis!!!

Olen oma ajaveebis ja oma kanalis jaganud materjali selle suurepärase programmeerimiskeele kohta, võite leida palju artikleid ja videod nullistNäitan teile, kuidas programmeerimise alustamiseks vajalikke tööriistu alla laadida, me läheme üha enam põhikontseptsioonide läbi, läbides objektorienteeritud programmeerimise kontseptsioonidstandardid, teemasidandmestruktuurid, juurdepääs muuhulgas andmebaasidele, ehitus kasutajaliidestega rakendused.

Samuti võite leida a algusest peale, kus ma õpetan Androidis mobiilirakendusi looma läbi samm-sammult videojada, mida pidevalt uuendatakse.


Ja nüüd alustan ka nullist jada, kus me siseneme java Enterprise Editioni maailma, näitan, kuidas seadistada arenduskeskkonda ja kuidas luua oma esimesi Javaga veebirakendusi.


Seetõttu kutsun teid külastama aadressi codejavu.blogspot.com minu kanal Cristian Henao ja et nad on uutest järgedest väga teadlikud

See võib teile ka huvi pakkuda.

Kas soovite selle kirje kohta midagi lisada või kommenteerida? tehke julgelt….ja kui teile meeldis, kutsun teid jagama Y Tellige, klõpsates nupul "Liitu selle saidiga", et kuulda rohkem selliseid postitusi 😉