DATU TABULAS IZMANTOŠANA JSF. - Koda klikšķis

dalīties

DATU TABULAS IZMANTOŠANA JSF.

Sludinājumi

Iepriekš definētas tabulas piemērs.
Šajā laboratorijā mēs redzēsim vienkāršu piemēru, kas parāda, kā izmantot DataTable komponentu. Šis elements ļauj mums saistīt datu tabulu ar mūsu lapu šādi:

Šajā pirmajā piemērā no mūsu pupiņu klases tiks piesaistīts tikai iepriekš aizpildītais komponents, vēlāk tas parādīs, kā dinamiski manipulēt ar informāciju.

Sākotnēji izveidosim JSF projektu ar šādu struktūru:

Kā redzam, tiek izveidotas 2 java klases, viena atbilst personu klasei, kas ļauj apstrādāt cilvēkus, kurus mēs parādīsim savā tabulā, bet otra pupiņai, kas ļaus mums pārvaldīt mūsu tabulu ar attiecīgo kolonnas un ieraksti.
Person.java klase nodrošina mums personas pamatdatus, kurus mēs parādīsim tabulā, šeit mēs pievienojam atbilstošo kopu un iegūstam metodes, kā arī konstruktoru ar parametriem, lai tiešā veidā aizpildītu cilvēkus.



Klase TablaBean.java attiecas uz tabulu un tajā esošo cilvēku pārvaldību, parādītie ieraksti tiek glabāti ArrayList personas tipā, kas šīs rokasgrāmatas vajadzībām tiek aizpildīts konstruktorā.


Index.xhtml mēs izveidojam komponentu DataTable, ar kuru mēs saistām cilvēku sarakstu tieši vērtībā un attiecīgajās kolonnās tā pupa atribūtus, uz kuriem ir atsauce var="data", kas ir datu elements, kas attēlo Personas objekts katrā tabulas rindā.



Palaižot to, mums būs kaut kas līdzīgs šim


Kā redzam, informācija tiek parādīta tabulas režīmā, jo mēs vēl neesam sasaistījuši CSS stilus, mēs novērtējam tikai struktūru rindās un kolonnās bez jebkāda veida dizaina, taču mēs varam pievienot tabulai rekvizītu "border" un piemalei ir kaut kas līdzīgs šim:


Beidzot mēs zinām, ka varam izmantot sniegt informāciju strukturētāk.


Datu pārvaldības piemērs programmā DataTable.
Šajā sadaļā mēs turpināsim ar iepriekšējo piemēru, kur redzēsim, kā manipulēt ar tabulas datiem, lai veiktu tādus izplatītus procesus kā informācijas reģistrēšana, modificēšana vai dzēšana.


Pievienot cilvēkus.
Lai reģistrētu personas, mēs pārveidosim mūsu index.xhtml lapu, ar kuru saistīsim personas reģistrācijas veidlapu. Mēs to darām, sasaistot ievades un atlases komponentus režģa panelī, kas ir atbilstoši saistīts ar objektu “myPerson”, uz kuru tiek nosūtīti dažādi dati. Mūsu sistēmā tiek reģistrēta jauna persona.

Kā redzam, šie jaunie elementi tiek pievienoti, pirms DataTable iegūst šādu rezultātu:

Pēc indeksa modificēšanas veiksim nepieciešamās izmaiņas klasē TableBean.java, jo šajā piemērā turpināsim izmantot noklusējuma tvēruma līmeni, tāpēc cilvēku sarakstu padarīsim statisku, lai ar to varētu bez problēmām manipulēt, papildus veiksim likvidēt saraksta pildījumu, jo ideja ir reģistrēt cilvēkus, izmantojot reģistrācijas veidlapu.



Kā redzams, definējot sarakstu kā statisku, mēs izveidojam tā eksemplāru klases līmenī, mēs to nedarām konstruktorā, jo to dažādos gadījumos izsauks mūsu jsf, kas izraisītu jaunu saraksta gadījumu, kas izraisītu mēs zaudēsim informāciju, kas tajā varētu būt.

Turklāt mēs pievienojām Personas tipa objektu, lai varētu pārvaldīt reģistrācijas datus un pievienojām metodi “aggregarPersona()”, kas ļauj sarakstam pievienot jaunu elementu un tiek izsaukta no jsf pogas, vēlāk mēs ģenerējam jaunu “minhaPersona” objekts, kas ļaus iztīrīt reģistrācijas anketu.



Palaižot sistēmu, mēs redzēsim šādu darbību:



Sākotnēji forma ir tukša un tiek parādīta arī mūsu tabulas galvene, bet bez satura (atcerieties, ka mēs likvidējām saraksta aizpildīšanu), lai galvene neparādītos, kad vēl nav reģistrēti cilvēki, tāpēc mēs izmantojam “ rendered” rekvizītu, kurā mēs pārbaudām, vai saraksta garums ir lielāks par nulli, pretējā gadījumā tajā nevajadzētu rādīt galvenes. (Šī īpašuma darbība tiks sīkāk apspriesta vēlāk)

Kad mēs pievienojam cilvēkus, tie tiek saglabāti sarakstā un parādīti datu tabulā

Izslēdziet cilvēkus.
Pēc tam, kad mēs esam veiksmīgi reģistrējuši cilvēkus savā sarakstā, mēs varam tos noņemt no tā, tāpēc mūsu datu tabulā mēs pievienosim jaunu darbību kolonnu, kurā būs saite uz metodi “eliminarPerson()”, kuru izveidosim savā pupiņā.


Šim nolūkam mēs modificējam indeksu.xhtml, kur aiz slejas “Sex” pievienosim kolonnu “Darbības”.


Kā redzam, mēs izmantojam komponentu un darbībā mēs saucam metodi “eliminarPersona()”, kurai kā parametru nosūtīsim vērtību “data”, atceroties, ka dati ir līdzvērtīgi saraksta objektam, kas tiek parādīts noteiktā rindā.

Vēlāk TablaBean.java klasē mēs pievienojam metodi “eliminarPersona()”, kas kā parametru saņem personas objektu, kuru vēlamies dzēst. Tas atbilst “datiem”, ko nosūtām no jsf, un ir līdzvērtīgs personu rindā, kuru vēlamies dzēst, lai pēc tam noņemtu to no saraksta.

Palaižot sistēmu, mums būs šādas iespējas:

Un katru reizi, kad mēs izdzēšam ierakstu, izmantojot atbilstošo saiti, tabula tiks atjaunināta

Rediģēt personas.
Pēc veiksmīgas cilvēku reģistrēšanas un izdzēšanas no mūsu saraksta mēs varam tos modificēt, tādēļ mēs pārveidosim savu tabulu, padarot to rediģējamu, kad vēlamies atjaunināt dažus datus, šim nolūkam mēs atkal izmantosim rekvizītu “rendered”, kas parādīs vai paslēpiet rediģējamās opcijas atkarībā no lietotāja lēmuma.


Kā redzams katrā no kolonnām, tiek pievienots komponents kas pēc noklusējuma tiks paslēpts, pateicoties rekvizītam “rendered”, kas ļauj saglabāt patiesus vai nepatiesus datus, lai parādītu vai paslēptu pavadošo komponentu.

Mūsu gadījumā “data.edit” izsauc Būla mainīgo (rediģēt), ko pievienojām klasē Person, ja rekvizīts ir patiess, tas parādīs lai atļautu rediģēšanu, bet, ja rekvizīts ir patiess false (nav patiess), tiks parādīts


Tas pats ir jādara attiecīgi profesijas, algas un dzimuma ailēm, kur tā vietā, lai pievienotu a pēdējam tiks pievienots a jo formā mēs izmantojam atlases kombināciju ar šādu ceļu:


Tāpat atveidotajam rekvizītam atkarībā no gadījuma ir jāparāda kombinācija vai etiķete.

Pēc tam kolonna “Darbības” tiek mainīta, kur iepriekš mums bija tikai saite uz “Dzēst”, tagad mēs pievienosim vēl 2 saites, vienu “rediģēt” un otru, lai “saglabātu” informāciju pēc rediģēšanas.



Kā mēs redzam, tagad ir 3 saites attiecīgi rediģēšanas, saglabāšanas un dzēšanas metodēm, taču rediģēšanai un saglabāšanai ir renderētais rekvizīts, kas vienlaikus padara redzamas tikai 2 no 3 saitēm (atcerieties, ka atveidotā ir patiesa vai nepatiesa atkarībā no stāvokļa ), tāpēc pēc noklusējuma dzēšanas saite vienmēr tiks parādīta, jo tai nav atveidotā rekvizīta, savukārt rediģēšana un saglabāšana nekad netiks rādīta kopā. (ļauj pievienot atstarpi starp saitēm)

Iekšēji grafiskā līmenī datu tabula izskatītos šādi:


Lai gan grafiski jūs varat redzēt visus komponentus kopā, ir svarīgi skaidri norādīt, ka atveidotais īpašums rādīs tikai komponentus atkarībā no patiesās vai nepatiesās vērtības attiecīgajā brīdī.

Pēc index.xhtml modifikācijas tagad ir pienācis laiks modificēt Person.java klasi, kurā ir pievienots rekvizīts “rediģēt”, ko izmanto iepriekš minētais renderējums.


Kā redzam, jauns Būla atribūts ir saistīts ar tā attiecīgo kopu un get. Turklāt, lai atbilstu uzdevuma struktūrai, mēs pievienojām īpašību parametrizētajam konstruktoram, lai gan šajā uzdevumā tas vairs netiek izmantots.

Tādā veidā ikreiz, kad tiek veikta rendered=”#{data.edit}” failā index.xhtml, tiktu izsaukts šis mainīgais, kas ļautu parādīt vai paslēpt komponentus atkarībā no gadījuma.


Visbeidzot un jau ar iepriekšējām izmaiņām mēs turpinām modificēt Bean klasi, kur mums jāpievieno atbilstošās dzēšanas un saglabāšanas metodes, kas tiek izsauktas no lauka “Darbības”.


Kā redzam, metode editPersona() saņem personas objektu (no jsf izsaukuma, tāpat kā tas tiek darīts delete metodē) un tā rekvizīts “edit” tiek modificēts, nosūtot vērtību true, kas ļaus šo ierakstu lai paslēptu un parādīt un lai veiktu vēlamās izmaiņas.

No otras puses, metode savePersona() būs atbildīga par visu sarakstā esošo objektu katra “rediģēšanas” rekvizīta maiņu uz false, lai datu tabula tiktu atjaunota ar cilvēku vērtībām, nevis ar rediģējamiem elementiem.


Palaižot sistēmu, mums būs šādas iespējas:


Un, nospiežot rediģēt, sistēma mainās uz:

Kā redzams, noklikšķinot uz rediģēšanas saites, rediģējamie komponenti tiek automātiski parādīti, bet nerediģējamie tiek paslēpti, tāpat arī rediģēšanas saite pazūd, lai atbrīvotu vietu saglabāšanas saitei, kā paskaidrots iepriekš.

Un gatavs!!!

Manā emuārā un manā kanālā esmu kopīgojis materiālus par šo lielisko programmēšanas valodu, jūs varat atrast daudzus rakstus un video no nullesEs parādīšu, kā lejupielādēt nepieciešamos rīkus, lai sāktu programmēšanu, mēs arvien vairāk un vairāk izejam cauri pamatjēdzieniem, objektorientētas programmēšanas koncepcijasstandarti, tēmasdatu struktūras, piekļuve datu bāzēm, cita starpā, būvniecība lietojumprogrammas ar lietotāja saskarnēm.

Tāpat jūs varat atrast a kurss no nulles, kur es mācu, kā izveidot mobilās lietotnes Android ierīcēs izmantojot soli pa solim video secību, kas tiek pastāvīgi atjaunināta.


Un tagad es arī sākšu no nulles secību, kurā mēs ieiesim java Enterprise izdevuma pasaulē, parādīsim, kā iestatīt izstrādes vidi un izveidot savas pirmās tīmekļa lietojumprogrammas ar java.


Tāpēc aicinu apmeklēt codejavu.blogspot.com, ciemos mans kanāls Cristian Henao un ka viņi ir ļoti informēti par jaunajiem turpinājumiem

Tas var arī jūs interesēt.

Vai ir kaut kas, ko vēlaties pievienot vai komentēt par šo ierakstu? jūties brīvi darīt….un ja patika, aicinu padalīties y Abonējiet, noklikšķinot uz pogas "Pievienoties šai vietnei", lai dzirdētu vairāk tādu ziņu kā šī 😉