КОРИШЋЕЊЕ ТАБЕЛЕ ПОДАТАКА У ЈСФ. - Цодецлицк

Објави

КОРИШЋЕЊЕ ТАБЕЛЕ ПОДАТАКА У ЈСФ.

Огласи

Пример унапред дефинисане табеле.
У овој лабораторији видећемо једноставан пример који показује како да користимо компоненту ДатаТабле, овај елемент нам омогућава да повежемо табелу података са нашом страницом овако:

За овај први пример, само унапред попуњена компонента ће бити повезана из наше беан класе, касније ће се показати како се динамички манипулише њеним информацијама.

У почетку, направимо ЈСФ пројекат са следећом структуром:

Као што видимо, креиране су 2 јава класе, једна одговара класи персон која нам омогућава да обрадимо људе које ћемо приказати у нашој табели, а друга беан-у који ће нам омогућити да управљамо нашом табелом са одговарајућим колоне и записи.
Класа Персон.јава нам пружа основне податке о особи коју ћемо приказати у табели, овде додајемо одговарајући скуп и добијамо методе, као и конструктор са параметрима за директно попуњавање људи.



Класа ТаблаБеан.јава се односи на табелу и управљање људима у њој, записи који се приказују чувају се у типу особе АрраиЛист који се, за потребе овог водича, попуњава у конструктору.


У индек.кхтмл креирамо компоненту ДатаТабле којој повезујемо листу људи директно у вредности иу одговарајућим колонама атрибуте беан-а који је референциран у вар="дата", који је податак елемент који представља податке објекат Особа у сваком реду табеле.



Када га покренемо, имаћемо нешто овако


Као што видимо, информације су представљене у режиму табеле, пошто још увек нисмо повезали ЦСС стилове, ценимо само структуру у редовима и колонама без икаквог дизајна, међутим можемо додати својство „бордер“ у табели и маргина која има нешто овако:


Коначно знамо да то можемо искористити да се информације представе на структуриранији начин.


Пример управљања подацима у ДатаТабле-у.
У овом одељку ћемо наставити са претходним примером где ћемо видети како да манипулишемо подацима табеле да бисмо извршили уобичајене процесе као што су регистровање, модификовање или брисање информација.


Додајте људе.
Да бисмо регистровали људе, изменићемо нашу страницу индек.кхтмл са којом ћемо повезати образац за регистрацију особа. Ово радимо тако што повезујемо компоненте за унос и селекцију у таблу мреже која је прописно повезана са објектом “миПерсон” на који се шаљу различити подаци. Нова особа је регистрована у нашем систему.

Као што видимо, ови нови елементи се додају пре него што ДатаТабле добије овакав резултат:

Након измене индекса, извршимо неопходне измене у класи ТаблеБеан.јава, јер ћемо у овом примеру наставити да користимо подразумевани ниво опсега, па направимо листу људи статичном како би се њоме могло манипулисати без проблема, додатно ћемо елиминисати попуњавање листе пошто је идеја да се људи могу регистровати путем обрасца за регистрацију.



Као што можемо видети када дефинишемо листу као статичну, ми креирамо њену инстанцу на нивоу класе, ми то не радимо у конструктору јер ће то бити позвано у различитим приликама од стране нашег јсф-а што би изазвало нову инстанцу листе која би изазвала да изгубимо информације које може садржати.

Поред тога, додали смо објекат типа Персон да бисмо могли да управљамо подацима о регистрацији и додали методу „аггрегарПерсона()“ која омогућава додавање новог елемента на листу и позива се са јсф дугмета, касније генеришемо нову инстанцу објекат „минхаПерсона” који ће омогућити чишћење обрасца за регистрацију.



Када покренемо систем видећемо следеће понашање:



У почетку је образац празан и заглавље наше табеле је такође приказано али без икаквог садржаја (запамтите да смо елиминисали попуњавање листе), тако да се заглавље не приказује када још нема регистрованих људи, па користимо „ рендеред” где потврђујемо да је дужина листе већа од нуле, иначе не би требало да приказује заглавља. (О функционисању ове имовине ће се детаљно разговарати касније)

Док додајемо људе, они се чувају на листи и представљају у табели података

Искључи људе.
Након што смо успешно регистровали људе на нашој листи, можемо да их уклонимо са ње, за ово ћемо додати нову колону акција у нашу датаТабле која ће садржати везу до методе „елиминарПерсон()“ коју ћемо креирати у нашем беан-у


За ово мењамо индек.кхтмл где ћемо после колоне „Секс” додати колону „Акције”


Као што видимо, користимо компоненту а у акцији позивамо метод “елиминарПерсона()” коме ћемо послати вредност “дата” као параметар, памтећи да су подаци еквивалентни објекту листе који се приказује у одређеном реду.

Касније, у класу ТаблаБеан.јава, додајемо методу „елиминарПерсона()“ која као параметар прима објекат персон који желимо да избришемо, што одговара „подацима“ које шаљемо из јсф-а и еквивалентно је особу у реду коју желимо да избришемо, па је онда уклоните са листе.

Приликом покретања система имаћемо следеће:

И сваки пут када избришемо запис преко одговарајуће везе, табела ће бити ажурирана

Уреди људе.
Након што смо успешно регистровали и обрисали људе са наше листе, можемо да их изменимо, за то ћемо модификовати нашу табелу чинећи је могућом уређивати када желимо да ажурирамо неке податке, за то ћемо поново користити својство „рендеред“ које ће показати или сакријте опције које се могу уређивати у зависности од тога шта корисник одлучи.


Као што видимо у свакој од колона, додаје се компонента који ће подразумевано бити скривен захваљујући својству „рендеред“ које омогућава чување тачних или нетачних података да би се приказала или сакрила пратећа компонента.

У нашем случају „дата.едит“ позива логичку променљиву (едит) коју смо додали у класу Персон, ако је својство истинито онда ће приказати да дозволи уређивање, али ако је својство труе фалсе (није тачно) онда ће приказати


Исто се мора урадити и за колоне професије, плате и пол, где уместо додавања овом последњем ће се додати а пошто у форми користимо комбинацију избора следеће путање:


Исто тако, рендеровано својство је обавезно да прикаже комбинацију или ознаку у зависности од случаја.

Након тога, колона „Радње“ је модификована где смо раније имали само везу до „Избриши“, сада ћемо додати још 2 везе, једну за „уређивање“, а другу за „чување“ информација након уређивања.



Као што видимо, сада постоје 3 везе за методе за уређивање, чување и брисање, међутим едит и саве имају рендеровано својство које чини само 2 од 3 везе видљивима у исто време (запамтите да приказана садржи тачно или нетачно у зависности од услова ) тако да ће се подразумевано веза за брисање увек појављивати јер нема рендеровано својство, док се уређивање и чување никада неће видети заједно. (омогућава вам да додате размак између веза)

Интерно на графичком нивоу, датаТабле би изгледала овако:


Иако графички можете видети све компоненте заједно, важно је да буде врло јасно да ће рендеровано својство приказати само компоненте у зависности од праве или нетачне вредности у том тренутку.

Након измене индек.кхтмл, сада је време да се модификује класа Персон.јава, у коју је додато својство “едит” које користи горе поменуто приказивање.


Као што видимо, нови логички атрибут је повезан са одговарајућим скупом и гет. Такође, да бисмо уклопили структуру вежбе, додали смо својство параметризованом конструктору, иако се више не користи у овом тренутку у вежби.

На овај начин, сваки пут када се рендеред=”1ТП5Т{дата.едит}” уради у индек.кхтмл, позиваће се ова променљива, што би омогућило приказивање или сакривање компоненти у зависности од случаја.


Коначно, већ са претходним изменама, прелазимо на модификацију класе Беан где морамо додати одговарајуће методе за брисање и чување које се позивају из поља „Акције“.


Као што видимо, метода едитПерсона() прима објекат особе (из јсф позива, баш као што се то ради у методи делете) и његово својство „едит“ се модификује слањем вредности труе, што ће омогућити овај запис да сакрију и показати анд тхе да извршите жељену промену.

С друге стране, метода савеПерсона() ће бити одговорна за промену сваког својства „уреди“ свих објеката на листи у лажно, тако да се датаТабле враћа са вредностима људи, а не са елементима који се могу уређивати.


Приликом покретања система имаћемо следеће:


А када притиснете едит систем се мења у:

Као што се може видети, када се кликне на везу за уређивање, компоненте које се могу уређивати се аутоматски приказују, док су оне које се не могу уређивати сакривене, исто тако веза за уређивање нестаје да би направила место за везу за чување као што је горе објашњено.

И спремно!!!

На мом блогу и на свом каналу сам делио материјал о овом сјајном програмском језику, можете пронаћи много чланака и видео снимци од нулеПоказујем вам како да преузмете неопходне алате за почетак програмирања, идемо све више кроз основне концепте, пролазећи кроз концепти објектно оријентисаног програмирањастандарди, теместруктуре података, приступ базама података између осталог, конструкција апликације са корисничким интерфејсима.

Такође можете пронаћи а курс од нуле где подучавам како да креирам мобилне апликације на андроиду кроз видео секвенцу корак по корак која се стално ажурира.


А сада ћу такође започети низ од нуле где ћемо ући у свет јава Ентерприсе издања, показати вам како да подесите развојно окружење и како да креирате своје прве веб апликације са Јавом.


Зато вас позивам да посетите цодејаву.блогспот.цом, да посетите мој канал Цристиан Хенао и да су веома свесни нових наставака

Такође вас може занимати.

Да ли желите нешто да додате или коментаришете о овом уносу? слободно урадите….и ако вам се свидело, позивам вас да га поделите И Претплатите се тако што ћете кликнути на дугме „Придружи се овој веб локацији“ да бисте чули још постова попут ове 😉