Documente Academic
Documente Profesional
Documente Cultură
TUTORIAL Eclipse
Java Server Faces: Form Simplu Starter
SGBD: PostgreSQL9
Driver JDBC: posgresql-9.jdbc
Plan
1. Verificare infrastructur necesar
Biblioteci suport: MyFaces
Proiect suport JPA
Server Tomcat
2. Creare formular start
Creare surs de date formular simplu
Creare fiier-pagin gazd formular simplu
Creare rubrici formular
Creare butoane de navigare formular
3. Test formular start JSF
1. Verificare infrastructur necesar
Biblioteci kit
JSF2/
Apache MyFaces 2.2
1.2 Creare proiect JSF
1. Creare proiect tip DynamicWebProject
adugare dependen server de aplicaii web Apache
Tomcat
5. Verificare configuraie:
JSF Facet versiunea 2.2
Adugare
dependen ctre
proiectul JPA n
Deployment
Assembly pentru
proiectul JSF
(ProduseJSF)
2. Creare formular start
2.1 Creare surs de date formular simplu
2.2 Creare fiier gazd formular simplu
Creare fiier XHTML
Creare form JSF cu rubrici legate la sursa de date
Creare butoane de navigare formular
creare linie de navigare cu butoane
declarare aciuni n fiier formular suport
legare butoane la aciuni
2.3 Test formular simplu JSF
2.1 Creare surs de date formular
simplu
Creare clas suport <back-bean> FormClienti din seciunea Java
Resource: src a perspectivei JavaEE sau Web
Codificarea clasei FormClienti
Definirea modelului de date
Atribut pentru entitatea curent
Colecie pentru entitile accesibile
Constructorul implicit (fr parametri)
Invocarea suportului de persisten pentru a iniializa modelul
de date
Declararea clasei FormClienti drept managed bean pentru a putea fi
invocat din contextul aplicaiei (n special de cadrul binding care o
va lega de componentele grafice)
Model de date
7
2.2 Creare fiier gazd formular
simplu
2.2.1 Creare fiier XHTML
Creare pagin dup template Facelet Header
Modificare titlu pagin formular
2.2.2 Componente grafice
Creare form JSF (drag&drop) legat la sursa de date
2.2.3 Creare butoane de navigare formular
creare butoane
declarare aciuni n fiier formular suport
Legare butoane la aciuni
2.2.1 Creare fiier XHTML
Creare pagin dup template Facelet Header (vezi captura
de pe urmtoarea pagin):
Din seciunea Web Content a perspectivei JavaEE sau Web
meniul contextual opiunea New HTML File
in primul pas se specific numele paginii (FormClienti)
coninnd formularul adugnd explicit extensia xhtml,
in al doilea pas se alege ablonul New Facelet Header.
Creare fiier XHTML
Modificare titlu pagin formular
Dac perspectiva Web nu a fost activat, atunci dup
finalizarea secvenei de pai de creare a fiierului
aceasta va fi activat (vezi captura de pe urmtoarea
pagin).
Zona de lucru va fi mprit astfel
O sub-zon de lucru grafic (drag&drop) care va
include o palet de componente
O sub-zon de lucru n mod cod-surs
O fereastr de proprieti pentru elementul selectat
curent n oricare din cele dou seciuni
Modificarea titlului implicit se poate face direct n zona de
lucru grafic
Perspectiva Web
Paleta de
component
e
Fereastra de proprieti
2.2.2 Componente grafice legate la
sursa de date
Creare form JSF (drag&drop) legat la sursa de date (vezi capturile de pe
urmtoarele pagini):
Selectare component Form din seciunea JSF HTML a paletei de
componente
drag&drop n zona de lucru de grafic
activare secven asistent configurare form
Pasul 1 selectare surs de date
Alegere opiune de generare: Generare a form tag and content
from data
Acionare buton selecie Form Bean: selectare proprietate client
din sursa formClienti
Pasul 2 selectare proprieti client care vor genera rubricile
formularului
Pasul 3 configurare rubrici
Poziie-ordine rubrici
Text etichete asociat
Pasul 1
Pasul 2
Pasul 3
2.2.3 Creare butoane de navigare
formular
Aezarea butoane n cadrul formularului: zona de navigare va constitui o
nou linie deasupra liniilor cu rubricile obinuite.
Pentru a obine o nou linie vom aduce (drag&drop) naintea etichetei Id
client , linie coninnd exact trei componente (vezi capturile de pe
urmtoarele pagini):
o nou etichet Navigare: drag&drop OutputLabel din seciunea JSF
HTML a paletei
un panou cu 2 coloane (cte una pentru fiecare buton): drag&drop
Panel Grid din seciunea JSF HTML a paletei
un mesaj sau o etichet final: drag&drop Message sau Output Label
din seciunea JSF HTML a paletei
n interiorul sub-panoului cu 2 coloane vor fi aduse (drag&drop) dou
componente Command Button din seciunea JSF HTML a paletei, pentru
care n fereastra Properties vor fi modificate proprietile:
Id, n cmdPrevious respectiv cmdNext;
Value, n Prev respectiv Next
Componentele care vor forma linia de navigare vor fi trase exact naintea
primei rubrici ...
Linia de navigare trebuie format din exact 3 componente, altfel se
dezechilibreaz aezarea n pagin, panoul principal al formularului fiind
definit cu 3 coloane...
2
n panoul
secundar adus
1
pe coloana a
2
doua din prima
linie a panoului
principal al
formularului vor
fi trase cele
dou butoane de 3
navigare
cmdPrev i
cmdNext
4
2.2.3 Creare butoane de navigare
formular
Activare butoane de navigare
Creare aciuni de navigare n clasa suport a formularului grafic (vezi
cod surs pe urmtoarea pagin)
n clasa FormClienti se adaug operaiile nextClient i
previousClient care
vor fi parametrizate cu javax.faces.event.Event;
actualizeaz referina clientului curent relativ la poziiile din
lista de clieni
Legare aciuni de navigare la butoane de navigare (vezi capturile de
pe urmtoarele pagini)
se selecteaz fiecare buton de navigare;
se acceseaz proprietatea ActionListener din fereastra de
proprieti i se acioneaz butonul Bind to a dynamic value;
din fereastra activat se selecteaz metoda de navigare din
beanul formClienti.
Atentie ActionEvent trebuie
importat din
javax.faces.event.ActionEvent
Aciunile de navigare.
ActionEvent provine din
javax.faces.event
1
4 2
3 (dublu click)
3. Test formular start JSF
Din meniul contextual al formularului JSF (n perspectiva JavaEE
sau Web) se selecteaz opiunea Run i aciunea Run on server
n fereastra consol se poate observa pornirea serverului Tomcat
(dac nu a fost deja pornit n prealabil) printr-o serie de mesaje
dintre care unul va indica calea de deploy a aplicaiei curente
Fereastra browserului se va lansa ctre un URL format astfel
URLul generic al aplicaie, de exemplu
http://localhost:8080/ProduseJSF
La care se adaug numele formularului urmat de extensia jsf i
nu xhtml, de exemplu
http://localhost:8080/ProduseJSF/faces/FormClienti.xhtml
Lansare Form JSF