1.1.14.5.10.1 fejezet, Primefaces konfigurálása
A Primefaces konfigurációt nem igénylő JSF megvalósítása igen vonzó vizuális komponenseket tartalmaz. A bemutató igen meggyőző.
Bean konfigurációra kiszolgáló oldalon mégis szükség van, ha nem EJB konténerrel (pl.: JBoss, GlassFish) dolgozunk. A konfigurációt a WEB-INF könyvtárba kell elhelyezni. Ezt a csatolt faces-config.xml-ben tehetjük meg:
<managed-bean> <managed-bean-name>greetingBean</managed-bean-name> <managed-bean-class>com.primefaces.demo.GreetingBean</managed-bean-class> <managed-bean-scope>application</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>dateBean</managed-bean-name> <managed-bean-class>com.primefaces.demo.DateBean</managed-bean-class> <managed-bean-scope>application</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>autoCompleteBean</managed-bean-name> <managed-bean-class>com.primefaces.demo.AutoCompleteBean</managed-bean-class> <managed-bean-scope>application</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>messagesController</managed-bean-name> <managed-bean-class>com.primefaces.demo.MessagesController</managed-bean-class> <managed-bean-scope>application</managed-bean-scope> </managed-bean>
A fent látható konfiguráció négy Java osztályt határoz meg (JavaServerFaces Driven objektumok). A csatolt web.xml-ben a megjelenítéskor használt XHTML fájlok elérése konfigurálható.
Tegyük fel hogy egy lokális Tomcat 6.0-ás kiszolgálón dolgozunk, Eclipse-el egy WebApp dinamikus projekten. A Bean metódusai a http://localhost:8080/WebApp/faces/greeting.xhtml -ben #{bean.metodus} formában használhatók az alábbiak szerint.
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> <title>Greetings</title> </h:head> <h:body> <h:outputText value="Status: #{facesContext.application.projectStage}"/> <h:form> <p:button id="myButton" value="My Button"> </p:button> <p:ajaxStatus> <f:facet name="start"> <h:outputText value="Loading..." /> </f:facet> <f:facet name="complete"> <h:outputText value="Done!" /> </f:facet> </p:ajaxStatus> <p:accordionPanel> <p:tab title="FirstTabTitle"> <h:outputText value="Lorem" /> </p:tab> <p:tab title="Date Picker"> <h:outputText value="Ipsum" /> <p:messages id="msg" showDetail="true"/> <p:calendar value="#{dateBean.date}" mode="inline"> <p:ajax event="dateSelect" listener="#{dateBean.handleDateSelect}" update="msg" /> </p:calendar> </p:tab> <p:tab title="Auto Complete"> <p:autoComplete value="#{autoCompleteBean.text}" completeMethod="#{autoCompleteBean.complete}" /> </p:tab> </p:accordionPanel> <h:outputText value="#{greetingBean.greeting}" /> </h:form> </h:body> </html>
Fontos, hogy legyen az xhtml-nek <h:head></h:head> tagja, mert máskülönben hiányozni fognak a skin és a JQuery elemek. Végül két minta Bean, amit az XHTML használ AJAX hívásokkal:
DateBean.java
package com.primefaces.demo; import java.util.Date; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import org.primefaces.event.DateSelectEvent; public class DateBean { private Date date; // Getter and Setter public void setDate(Date date) { this.date = date; } public Date getDate() { return date; } public void handleDateSelect(DateSelectEvent event) { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Date updating","New date:"+event.getDate()); FacesContext.getCurrentInstance().addMessage(null, msg); } }
AutoCompleteBean.java
package com.primefaces.demo; import java.util.ArrayList; import java.util.List; public class AutoCompleteBean { private String text; public List<String> complete(String query) { List<String> results = new ArrayList<String>(); for (int i = 0; i < 10; i++) results.add(query + i); return results; } public void setText(String text) { this.text = text; } public String getText() { return text; } }
A szükséges segédkönyvtárak:
Az XHTML-ből generált kód formátuma hagy némi kivetni valót maga után, de ez talán nem annyira zavarja a mai modern böngészőkben használt JavaScript hibakereső modulokat.
Csatolmány | Méret |
---|---|
faces-config.xml | 1.26 KB |
web.xml | 973 byte |
- A hozzászóláshoz be kell jelentkezni