Oglasi
Primer vnaprej določene tabele.
V tem laboratoriju bomo videli preprost primer, ki prikazuje, kako uporabljati komponento DataTable, ta element nam omogoča povezavo podatkovne tabele z našo stranjo na naslednji način:
![](https://1.bp.blogspot.com/-6jFC3MsdYpY/XVBXBs2vYsI/AAAAAAAAFSs/PBitmP-b7dIY2X1FyIdG5qE_CCk2U6c2QCLcBGAs/s320/1.jpg)
Za ta prvi primer bo samo predhodno naseljena komponenta povezana z našim razredom gradnika, kasneje pa bo prikazano, kako dinamično manipulirati z njenimi informacijami.
Na začetku bomo ustvarili projekt JSF z naslednjo strukturo:
![](https://1.bp.blogspot.com/-Yvdtvhb1Jhs/XVBXD-UMiZI/AAAAAAAAFTY/yKH94-k8Lh83RL6yoUWW7wkLykghWcDsACLcBGAs/s320/2.jpg)
Kot lahko vidimo, sta ustvarjena 2 razreda Java, eden ustreza razredu osebe, ki nam omogoča obdelavo ljudi, ki jih bomo prikazali v naši tabeli, drugi pa gradniku, ki nam bo omogočil upravljanje tabele z ustreznimi stolpce in zapise.
Razred Person.java nam nudi osnovne podatke o osebi, ki jih bomo prikazali v tabeli, tu dodamo ustrezne metode set in get ter konstruktor s parametri za neposredno izpolnjevanje ljudi.
Razred TablaBean.java se nanaša na tabelo in upravljanje ljudi v njej, prikazani zapisi so shranjeni v vrsti osebe ArrayList, ki je za namene tega vodnika izpolnjena v konstruktorju.
V index.xhtml ustvarimo komponento DataTable, ki ji povežemo seznam ljudi neposredno v vrednosti in v ustreznih stolpcih atribute gradnika, na katerega se sklicuje var=”data”, pri čemer je data element, ki predstavlja podatke predmeta Oseba v vsaki vrstici tabele.
Ko ga zaženemo, bomo imeli nekaj takega
![](https://1.bp.blogspot.com/-_EmidoL5mkY/XVBXHXxnExI/AAAAAAAAFUI/zN2ff4dRY9oJiudtlcb4IIIgBsj-Czz4QCLcBGAs/s400/6.jpg)
Kot lahko vidimo, so informacije predstavljene v načinu tabele, saj še nismo povezali slogov CSS, cenimo samo strukturo v vrsticah in stolpcih brez kakršnega koli oblikovanja, vendar lahko tabeli dodamo lastnost »obrobe« in rob, ki ima nekaj takega:
Končno vemo, da lahko izkoristimo
Primer upravljanja podatkov v DataTable.
V tem razdelku bomo nadaljevali s prejšnjim primerom, kjer bomo videli, kako manipulirati s podatki tabele za izvajanje običajnih postopkov, kot so registracija, spreminjanje ali brisanje informacij.
Dodajte osebe.
Za registracijo oseb bomo spremenili našo stran index.xhtml, na katero bomo povezali obrazec za registracijo oseb. To storimo tako, da povežemo vhodne in izbirne komponente v mrežni plošči, ki je pravilno povezana s predmetom "myPerson", v katerega se pošiljajo različni podatki. register atributi, nato je povezan gumb, ki kliče metodo "addPerson()", ki bo omogočila nova oseba je registrirana v našem sistemu.
![](https://1.bp.blogspot.com/-avA4bmAQ3uI/XVBXJPtxunI/AAAAAAAAFUU/7fGG7EKRqpcIZtkNTOWdhoTCpdu6TbeqACLcBGAs/s640/9.jpg)
Kot vidimo, so ti novi elementi dodani pred podatkovno tabelo in dobijo rezultat, kot je ta:
![](https://1.bp.blogspot.com/-CBjkXUPesT8/XVBXCCL3QCI/AAAAAAAAFSw/AA6k6rBeuQUX8-Ro4jeqrZHYQgZF4zOqgCLcBGAs/s400/10.jpg)
Po spremembi indeksa bomo naredili potrebne spremembe v razredu TableBean.java, saj bomo v tem primeru še naprej uporabljali privzeto raven obsega, tako da bomo naredili seznam oseb statičen, tako da ga bo mogoče brez težav manipulirati, poleg tega bomo odpravili polnjenje seznama, saj je ideja, da bi lahko osebe registrirali prek registracijskega obrazca.
![](https://1.bp.blogspot.com/-LDeYdKsQpwg/XVBXCVoJjII/AAAAAAAAFS4/qNytc116e0gNnOSbsiPLvx1bFwFNJ1I2gCLcBGAs/s640/11.jpg)
Kot lahko vidimo, pri definiranju seznama kot statičnega ustvarimo njegov primerek na ravni razreda, tega ne naredimo v konstruktorju, saj bo to ob različnih priložnostih poklical naš jsf, kar bi povzročilo nov primerek seznama, ki bi povzročijo, da izgubimo informacije, ki jih lahko vsebuje.
Dodatno smo dodali objekt tipa Person, da lahko upravljamo podatke o registraciji in dodali metodo “aggregarPersona()”, ki omogoča dodajanje novega elementa na seznam in jo prikličemo z gumbom jsf, kasneje generiramo nov primerek objekt “minhaPessoa”, ki bo omogočil čiščenje registracijskega obrazca.
Pri zagonu sistema bomo videli naslednje vedenje:
![](https://1.bp.blogspot.com/-OueB5eSBbdM/XVBXCQ98BCI/AAAAAAAAFS0/nkzOyp5xwXwQhXuJa4A0lwBYm-T42c0UACLcBGAs/s400/12.jpg)
Na začetku je obrazec prazen in prikazana je tudi glava naše tabele, vendar brez kakršne koli vsebine (ne pozabite, da smo odpravili izpolnjevanje seznama), tako da ne prikaže glave, ko še ni registriranih ljudi, zato uporabimo »rendered« lastnost, kjer potrdimo, da je velikost seznama večja od nič, sicer ne bi smel prikazati glav. (Delovanje te lastnosti bo podrobneje obravnavano kasneje)
![](https://1.bp.blogspot.com/-09WN_MWGfoY/XVBXCuh-2DI/AAAAAAAAFS8/9cH6lYpTx0YHLZdeAAFpxzMqk6vtma7nACLcBGAs/s640/13.jpg)
Ko dodamo osebe, se shranijo na seznam in predstavijo v DataTable
![](https://1.bp.blogspot.com/-bab5JGC0-9A/XVBXCx7ctyI/AAAAAAAAFTA/iCqJou4_86oFMPJMIr_a-Dk3DjiCAXAkwCLcBGAs/s400/14.jpg)
Izbriši osebe.
Ko uspešno registriramo osebe na našem seznamu, jih lahko odstranimo z njega. Za to bomo v našo podatkovno tabelo dodali nov stolpec dejanj, ki bo vseboval povezavo do metode »eliminatePerson()«, ki jo bomo ustvarili v našem gradniku
Da bi to naredili, spremenimo index.xhtml, kjer bomo za stolpcem »Seks« dodali stolpec »Dejanja«.
![](https://1.bp.blogspot.com/-Oh0PfQAeKFA/XVBXC4SWR2I/AAAAAAAAFTE/fpgeptCqi6kPXR9xLeBMafR0kWm6Mio6gCLcBGAs/s640/15.jpg)
Kot lahko vidimo, uporabljamo komponento
Kasneje smo v razredu TablaBean.java dodali metodo »eliminarPersona()«, ki kot parameter prejme objekt osebe, ki ga želimo izbrisati, to ustreza »podatkom«, ki jih pošljemo iz jsf, in je enakovredno osebi v vrstico, ki jo želimo izbrisati, da jo nato odstranimo s seznama.
![](https://1.bp.blogspot.com/--CLv6XWQ1l0/XVBXDES6svI/AAAAAAAAFTI/uVPK39aYHVoWANvCcOc5XcyNDq297ASSACLcBGAs/s640/16.jpg)
Pri zagonu sistema bomo imeli naslednje:
![](https://1.bp.blogspot.com/-G_JeZPUd06A/XVBXDaDg81I/AAAAAAAAFTM/9BaMiyQpOR4jcEGIpR1KTuRME4Q8ng-ngCLcBGAs/s400/17.jpg)
In vsakič, ko izbrišemo zapis prek ustrezne povezave, se tabela posodobi
![](https://1.bp.blogspot.com/-oxxuzTsxt7o/XVBXDVOfPhI/AAAAAAAAFTQ/e2NMUczZt0Qc_z1fq9-ezJjYoQw4d83MgCLcBGAs/s400/18.jpg)
Uredi osebe.
Ko smo uspešno registrirali in izbrisali osebe z našega seznama, jih lahko spremenimo, za to bomo spremenili našo tabelo, tako da jo bo mogoče urejati, ko bomo želeli posodobiti nekatere podatke, za to bomo znova uporabili lastnost "rendered", ki bo prikazala ali skrijete možnosti, ki jih je mogoče urejati, odvisno od odločitve uporabnika.
![](https://1.bp.blogspot.com/-WAoS8VoFhVU/XVBXDxYZM0I/AAAAAAAAFTU/FVNsdfrDYOMBEE4DThMA1Z7sEkRySIpMACLcBGAs/s640/19.jpg)
Kot lahko vidimo, je v vsakem od stolpcev dodana komponenta
V našem primeru »data.edit« izvede klic logične spremenljivke (edit), ki smo jo dodali razredu Person; če je lastnost resnična, bo prikazal
Enako je treba storiti za stolpce poklic, plača in spol, kjer namesto a
![](https://1.bp.blogspot.com/-XyYchscZYHw/XVBXD1vP5BI/AAAAAAAAFTc/M0fyr3UMHaYltRm2IUe6OGq7Wgp35EM3QCLcBGAs/s640/20.jpg)
Podobno mora upodobljena lastnost prikazati kombinacijo ali oznako, odvisno od primera.
Pozneje je spremenjen stolpec »Dejanja«, kjer smo prej imeli samo povezavo do »Izbriši«, zdaj pa bomo dodali še 2 povezavi, eno za »urejanje« in drugo za »shranjevanje« informacij po urejanju.
![](https://1.bp.blogspot.com/-scSVIGsOJBg/XVBXEbBLm-I/AAAAAAAAFTg/CXOJ5GiAHFcGoU6DZdlpagMSIyrlApdEgCLcBGAs/s640/21.jpg)
Kot lahko vidimo, so zdaj na voljo 3 povezave za metode urejanja, shranjevanja in brisanja, vendar imata ureditev in shranjevanje lastnost upodobljene, zaradi katere sta vidni samo 2 od 3 povezav hkrati (ne pozabite, da upodobljena vsebuje true ali false, odvisno pod pogojem ), tako da bo privzeto povezava za brisanje vedno prikazana, ker nima upodobljene lastnosti, medtem ko urejanje in shranjevanje ne bosta nikoli vidna skupaj. (omogoča dodajanje presledka med povezavami)
Notranje, na grafični ravni, bi dataTable izgledala takole:
![](https://1.bp.blogspot.com/-Toucn1Pe4gw/XVBXEoQo0aI/AAAAAAAAFTk/3iWQ-CwM0Y4lfo1le-Q7K3zS7edPdUe7gCLcBGAs/s640/22.jpg)
Čeprav lahko grafično vidite vse komponente skupaj, je pomembno biti zelo jasen, da bo upodobljena lastnost prikazala komponente samo glede na resnično ali napačno vrednost v danem trenutku.
Po spremembi index.xhtml je zdaj čas, da spremenite razred Person.java, ki mu je dodana lastnost »urejanje«, ki jo uporablja zgoraj omenjeni upodabljalnik.
![](https://1.bp.blogspot.com/-hO96FPe2zDo/XVBXFmc4GZI/AAAAAAAAFTo/guH3ganP_qo34wvqMsfhbdlQM8wzjEbkACLcBGAs/s640/23.jpg)
Kot lahko vidimo, je nov logični atribut povezan z ustreznim nizom in getom. Poleg tega smo za prilagoditev strukture vaje dodali lastnost parametriziranemu konstruktorju, čeprav se na tej točki vaje ne uporablja več.
Na ta način bi vsakič, ko se rendered=”#{data.edit}” izvede v index.xhtml, poklicala to spremenljivko, ki bi omogočila prikazovanje ali skrivanje komponent, odvisno od primera.
Končno in s prejšnjimi spremembami smo začeli spreminjati razred Bean, kjer moramo pri brisanju in shranjevanju dodati ustrezne metode, ki se kličejo iz polja »Dejanja«.
![](https://1.bp.blogspot.com/-vmOz0l7u5EU/XVBXF4hOJHI/AAAAAAAAFTw/PNjo0wpf0p4VZbjmZB26TLscRmqELxq4QCLcBGAs/s400/24.jpg)
Kot lahko vidimo, metoda editPersona() prejme objekt osebe (iz klica jsf, kot je storjeno v metodi delete) in njena lastnost »urejanje« se spremeni tako, da ji pošlje vrednost true, kar bo omogočilo, da se ta zapis skrije the
Po drugi strani pa bo metoda savePersona() odgovorna za spreminjanje vsake lastnosti »urejanje« vseh predmetov na seznamu v vrednost false, tako da se dataTable obnovi z vrednostmi ljudi in ne z elementi, ki jih je mogoče urejati.
Pri zagonu sistema bomo imeli naslednje:
![](https://1.bp.blogspot.com/-2FM2xKBvlzE/XVBXFz7cxnI/AAAAAAAAFTs/lyyaf8W2vKAH-2daDSWKsD_7HF9x3x_ZACLcBGAs/s640/25.jpg)
In ko pritisnete uredi, se sistem spremeni v:
![](https://1.bp.blogspot.com/-7HZtaeYo4bo/XVBXGIHW8XI/AAAAAAAAFT0/ayZCf3clY3YAQlASsDnkWy24JuNilaPDwCLcBGAs/s640/26.jpg)
Kot lahko vidite, ko kliknete povezavo za urejanje, so komponente, ki jih je mogoče urejati, samodejno prikazane, medtem ko so tiste, ki jih ni mogoče urejati, skrite, podobno povezava za urejanje izgine, da naredi prostor za povezavo za shranjevanje, kot je razloženo zgoraj.
In pripravljen!!!
Na svojem blogu in na svojem kanalu delim gradivo o tem odličnem programskem jeziku, lahko najdete veliko člankov in videi iz ničPokažem vam, kako prenesti potrebna orodja za začetek programiranja, vse bolj se poglobimo skozi osnovne koncepte, skozi koncepti objektno usmerjenega programiranjastandardi, temepodatkovne strukture, dostop do baz podatkov med drugim, do konstrukcije aplikacije z uporabniškimi vmesniki.
Prav tako lahko najdete a tečaj iz nič, kjer učim ustvarjati mobilne aplikacije na androidu skozi video zaporedje po korakih, ki se nenehno posodablja.
In zdaj bom tudi začel zaporedje iz nič, kjer bomo vstopili v svet java Enterprise Edition, vam pokazali, kako nastaviti razvojno okolje in kako ustvariti vaše prve spletne aplikacije z Javo.
Zato vas vabim, da obiščete codejavu.blogspot.com, da obiščete moj kanal Cristian Henao in da se zelo zavedajo novih nadaljevanj
Morda vas bo tudi zanimalo.
Ali želite kaj dodati ali komentirati o tem vnosu? lahko storite ....in če vam je bilo všeč, vas vabim, da ga delite Y Naročite se s klikom na gumb »Pridružite se temu spletnemu mestu«, če želite slišati več objav, kot je ta 😉