PRIMEFACES Çağatay Çivici [email protected] Çağatay Çivici

Apache MyFaces PMC “The Definitive Guide to Apache MyFaces and Facelets” Co-Author Reference in “Core JSF 2nd Edition” (Sun Core Series) Technical reviewer of “JBoss Seam and Trinidad” and “Apache MyFaces” books Speaker in JSFOne, JSFDays, universities and local Java Groups. PrimeFaces founder and project lead Krank CRUD framework team member Trainer, Consultant, Mentor FC Barcelona fan Prime Teknoloji (UK-TURKEY) Prime Teknoloji

Consulting, Training, Software Development Agile Agile Agile, TDD, Patterns Java EE, JSF, Spring, Seam, JPA www.emlakharitam.com PrimeFaces www.prime.com.tr JSF

Joint Strike Fighter Crew: 1 Java Server Faces

Standard of JAVA EE Component Oriented Event driven Swing and WEB Apache MyFaces and Sun Mojarra (RI) Vendor support (Sun, IBM, Oracle, JBoss, Apache etc) Apache MyFaces

JSF 1.1 ve 1.2 implementation Tomahawk Trinidad Tobago Portlet Bridge RI Orchestra ExtVAL JSF Tools

Netbeans JBoss Tools MyEclipse Eclipse WTP JDeveloper IBM RAD IDEA Macromedia Dreamweaver Component Libraries

MyFaces Tomahawk MyFaces Trinidad MyFaces Tobago JBoss RichFaces IceFaces Quipukit NetAdvantage WebGalileo PrimeFaces

Open Source Rich Components Easy AJAX XML Free JSF Detailed Documentation Not a framework Open Source Model

May the source be with you Free :) Apache Software Foundation Experience http://code.google.com/p/primefaces/ Turkey and Open Source Turkish Support

Turkish Docs (160 + sayfa) Turkish enabled components Turkish support forum PrimeFaces Modules

UI Components Optimus FacesTrace Mutually Exclusive modules Installation

1) Download 2) Logging ve SLF4J 3) Resource Servlet 4) JSP or Facelets Taglib 5) p:resources Let’s ROCK! Manuel Download

Google code page:

http://code.google.com/p/primefaces/issues/list Maven Download

prime-repo Prime Technology Maven Repository http://repository.prime.com.tr/ default

org.primefaces primefaces-ui 0.8.1 Resource Servlet

Serving packed resources (js, css, ...)

Resource Servlet org.primefaces.ui.resource.ResourceServlet 1

Resource Servlet /primefaces_resources/* Taglib

JSP Taglib

<%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %>

Facelets Namespace

xmlns:p="http://primefaces.prime.com.tr/ui" JSF Page

UI Components

Rich components Easy AJAX Flash chart components Unobstrusive Javascript Yahoo UI, Prototype, Scriptaculous Rich Components

UIAjax DataTable AccordionPanel Dialog AutoComplete Editor Button ImageCropper Calendar Menu Captcha Panel Carousel Poll Charts Resizable ColorPicker Slider ConfirmDialog Tabview Tooltip Tree Easy AJAX

Partial Page Rendering - PPR Declarative AJAX Ajax Update

Ajax Status

Displaying Ajax request status Global Ajax Request indicator

Ajaxify

Enables ajax on standard JSF components

Trigger on any DOM event blur, keyup, click, change Ajaxify Remoting

Invoking Java methods with JavaScript

public void checkUser(ActionEvent actionEvent) { //Check } Ajax Polling

Periodical Ajax Requests

private int number; public void increment(ActionEvent actionEvent) { number++; } Graphs

Chart components (Pie, Line, Column and more) Interactive Live data display Pie Chart Example

private List sales;

public SaleReport() { sales = new ArrayList(); sales.add(new Sale("Brand 1", 540)); sales.add(new Sale("Brand 2", 325)); sales.add(new Sale("Brand 3", 702)); sales.add(new Sale("Brand 4", 421)); }

Interactive Charts

ItemSelectEvent

private String message; public void selectSeries(ItemSelectEvent event) { mesaj = "Item Index: " + event.getItemIndex() + ", Series Index:" + event.getSeriesIndex(); } Live Data

Skinning

Before After UI Components DEMO Javascript and PrimeFaces

YUI, Prototype, Scriptaculous PrimeFaces Namespace and Javascript API PrimeFaces.widget.* PrimeFaces.ajax.* Unobstrusive Javascript PrimeFaces.widget.*

PrimeFaces widgets Example: PrimeFaces.widget.Editor

PrimeFaces.ajax.*

Ajax API PrimeFaces.ajax.AjaxUtils PrimeFaces.ajax.AjaxRequest PrimeFaces.ajax.AjaxResponse

Unobstrusive Javascript

Vanilla JSF

PrimeFaces