JSF 1.2 NetBeans IDE 6.1

advertisement
JSF 1.2
w wykonaniu
NetBeans IDE 6.1
Jacek Laskowski
http://www.JacekLaskowski.pl
Konferencja NetBeans RoadShow
Kraków (11.04.2008), Warszawa (12.04.2008)
O mnie...
●
●
●
●
●
●
Pasjonat Korporacyjnej Javy 5 (Java EE 5) oraz projektów
otwartych
Założyciel i lider Warszawa JUG
Członek zespołów rozwojowych Apache Geronimo,
Apache OpenEJB, Apache ServiceMix, Apache ActiveMQ
Uczestnik programów NetBeans Community Acceptance Test
(NetCAT) 5.0, 5.5 i 6.0
Prowadzi Notatnik Projektanta Java EE http://www.JacekLaskowski.pl
Służbowo: konsultant oprogramowania w IBM Polska
Konferencja JAVArsovia 2008
●
●
●
●
JAVArsovia 2008 – 2. edycja
konferencji javowej organizowanej
przez Warszawa JUG
Kiedy: 31 maj 2008
Gdzie: Warszawa, Aula Wydziału
Biologii, ul. Miecznikowa 1,
Warszawa (niedaleko MIMUW)
Wstęp wolny!
JAVArsovia 2008 - agenda
Pytania rozgrzewające
●
Kto korzysta z NetBeans IDE 6?
●
Regularnie, na codzień?
●
Kto tworzył aplikacje webowe z JSF 1.2?
●
A JSF 1.1 (+ Facelets)?
●
Wicket, Tapestry?
●
Struts?
●
Spring MVC?
●
Woodstock (Visual JSF)?
●
Korzystasz z MyFaces czy JSF RI?
O NetBeans 6.1...
●
●
●
●
NetBeans IDE 6.1
BETA (6.03.2008)
Projekt otwarty
Bezpłatne narzędzie
do tworzenia aplikacji
z Java EE 5, Ruby, C/
C++ i in.
Wsparcie (prawie)
wszystkich serwerów
aplikacyjnych Java
EE 5 (brak Geronimo!)
O JavaServer Faces (JSF) 1.2...
●
●
●
●
●
Obowiązkowa część specyfikacji Java EE 5
Szkielet wspomagający konstruowanie
interfejsu użytkownika aplikacji webowych
Komponenty graficzne (kontrolki)
Kontrola poprawności i konwersji danych z i do
interfejsu użytkownika
Wykonywanie akcji użytkownika po stronie
serwera
●
Odseparowany wygląd kontrolek
●
Unified Expression Language (Unified EL)
O JSF techniczniej
●
faces-config.xml – serce aplikacji JSF
●
Ziarna zarządzane – model aplikacji
●
Rozkład kontrolek na stronie
●
HTML jako standardowy widok
●
Deklaratywny model nawigacyjny
●
●
Mechanizm wstrzeliwania zależności (IoC/DI)
dostępny w ziarnach zarządzanych
Kontrolki funkcyjne vs akcyjne
Konfiguracja JSF - FacesServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd">
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>faces/welcomeJSF.jsp</welcome-file>
</welcome-file-list>
</web-app>
Konfiguracja JSF - faces-config.xml
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<managed-bean-name>SessionBean1</managed-bean-name>
<managed-bean-class>travelcenter.SessionBean1</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/Details.jsp</from-view-id>
<navigation-case>
<from-outcome>main</from-outcome>
<to-view-id>/Page1.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
Konfiguracja JSF – strona JSF
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<f:view>
<h1><h:outputText value="JavaServer Faces" /></h1>
</f:view>
</body>
</html>
Demo #1 – baaardzo trywialnie
Prosta aplikacja JSF z pomocą NetBeans IDE 6.1
(jsf-witajswiecie)
Pytanie konkursowe
●
Co to jest JavaServer Faces?
A) Szkielet aplikacyjny interfejsu użytkownika
B) Kolejny nietrafiony pomysł prezentacji Jacka
C) Coś o czym wolał(a)bym wcześniej nie słyszeć
D) Nic z powyższego
●
Odpowiedź: A
Demo #2 – siejemy ziarna
Prosta aplikacja JSF z pomocą NetBeans IDE 6.1
(jsf-witajziarno)
Pytanie konkursowe
●
Podaj nazwę pliku konfiguracyjny aplikacji JSF?
A) faces.xml
B) beans.xml
C) faces-config.xml
D) faces-beans.xml
●
Odpowiedź: C
Demo #3 – akcja!
Prosta aplikacja JSF z pomocą NetBeans IDE 6.1
(jsf-witajakcjo)
Pytanie konkursowe
●
Jaki element aplikacji JSF stanowi jego model?
A) Ziarna kawowca
B) Ziarna EJB
C) Ziarna springowe
D) Ziarna zarządzane
●
Odpowiedź: D
Demo #4 – Visual JSF na scenie
(Visual) JSF w NetBeans IDE 6.1
(TravelCenter)
Pytanie konkursowe
●
Podaj nazwę ujednoliconego języka wyrażeń w
JSF 1.2?
A) JSF EL
B) JSP EL
C) Unified EL
D) Java EL
●
Odpowiedź: C
Demo #5 – Visual JSF na scenie 2
(Visual) JSF w NetBeans IDE 6.1
(Single Page CRUD with Table)
Pytanie konkursowe
●
Jak nazywa się udostępniany przez NetBeans
zestaw kontrolek JSF?
A) Jarocin
B) Woodstock
C) Brodnica
D) Grudziądz
●
Odpowiedź: B
Demo #6 – Specjalizowane
wyrysowywanie
Renderer z NetBeans 6.1 i GlassFish v2
(jsf-renderer)
Pytanie konkursowe
●
Kto odpowiada za wyrysowywanie kontrolek w
JSF?
A) Model-View-Controller (MVC)
B) NavigationHandler
C) Renderer
D) FacesServlet
●
Odpowiedź: C
Demo #7 – JSF i JPA z dołu do góry
Utworzenie aplikacji JSF na bazie JPA
(PioWeb)
Pytanie konkursowe
●
Czy podoba Ci się wsparcie JSF przez
NetBeans 6.1?
A) Tak bardzo!
B) Wspaniałe! Nie mogę doczekać się, kiedy go
użyję!
C) Jestem oczarowany/-a!
D) Tu pojawiają się ochy i echy, westchnienia, itp.
●
Odpowiedź: A, B, C i potencjalnie D
Podsumowanie
●
●
●
●
●
Przykładowe
aplikacje JSF w
NetBeans IDE 6.1
3-in-1 edytor jspf
2-in-1 edytor facesconfig.xml
JSF Pages from
Entity Classes
Visual Web JSF
Library (Woodstock)
I to na dziś tyle...Pytania?
Słucham?
Download