1 / 41

10 Tips for Java EE 7 with PrimeFaces

10 Tips for Java EE 7 with PrimeFaces. Mert Çalışkan & Martin Fousek Software Architect Software Developer at T2 Yazılım Ltd. at Oracle, NetBeans.

louvain
Download Presentation

10 Tips for Java EE 7 with PrimeFaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10 Tips for Java EE 7 with PrimeFaces Mert Çalışkan & Martin Fousek Software Architect Software Developer at T2 Yazılım Ltd. at Oracle, NetBeans

  2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

  3. Agenda • Introduction • Java EE 7 & JavaServer Faces 2.2, PrimeFaces, NetBeans IDE • Tour through 10 features of the JSF and PF • Feature overview • Samples in action

  4. Java EE 7 & JavaServer Faces 2.2 Java EE 7 – 14 JSRs and 9 MRs, themes: • HTML5 • Developer productivity • Enterprise demands JavaServer Faces 2.2 big ticket features: • HTML(5) Friendly Markup • Faces Flow • Resource Library Contract

  5. PrimeFaces Open Source Component Library for JSF 2.xJSF 2.2 is supported with PF version 4.x Very Lightweight w/ Zero Configuration Plenty of examples in Showcase, extensive theming, provides mobile components Well documented, user guides, books & etc. Large and active community

  6. NetBeans IDE Open source IDE Support for Java, PHP, C/C++, Groovy Latest features • Java SE 7, Java EE 7 and JavaFX • HTML(5) client side development,CSS preprocessors, JavaSciprt frameworks • Cordova, FindBugs, VCS improvements • PHP 5.4 and the newest PHP frameworks

  7. Sample Codes Sample codes to demonstrate the tips Mavenized projects from Java EE 7 archetype Repository: github.com/marfous/j1demo-pf

  8. HTML(5) Friendly Markup

  9. HTML(5) Friendly Markup • New namespaces • passthrough elements: http://xmlns.jcp.org/jsf (TagDecorator) • passthrough attributes: http://xmlns.jcp.org/jsf/passthrough (RenderKit) • Advantages • Getting control over rendered Facelets • JSF components / JavaScript components / arbitrary mixing • Write and style pure HTML with benefits of JSF

  10. HTML(5) Friendly Markup Form with usage of HTML friendly markup: validation by Bean Validation API with localized messages, custom Bean Validation annotation, passthrough attributes and elements, usage of jQuery plugin at JSF component. 01-HtmlFriendlyMarkup https://github.com/marfous/j1demo-pf

  11. Resource Libraries Contracts

  12. Resource Libraries Contracts • Theme definitions across one or more web applications • Libraries consisting of templates, insertion points, resources • Can be bundled directly into Web Application or within .jar library • How to choose the used one: • there is only one option • static or dynamic view definition • URL based definition within faces-config • Multi-templating

  13. Resource Libraries Contracts Simple Resource Libraries Contracts usage, switching RLCs dynamically using Expression Language and ManagedBean. 02-ResourceLibrariesContracts https://github.com/marfous/j1demo-pf

  14. Expression Language 3.0

  15. Expression Language 3.0 • Communication between presentation layer and application logic • Deferred or immediate evaluation of expressions • Sets and gets data, invokes methods • Features • Standalone ELProcessor • Concatenation, semicolon and assignments operators • Static collections • Collection Operations (aligned with Java SE 8) • Lambda Expressions (aligned with Java SE 8)

  16. Expression Language 3.0 Examples of Expression Language 3.0 features: standalone EL Processor, operators, static fields, collections, lambdas and collection operations. 03-ExpressionLanguage3 https://github.com/marfous/j1demo-pf

  17. ­Prime Time with PrimeFaces Components

  18. ­Prime Time with PrimeFaces Components • With 100+ Rich Set of Components • Built-in Ajax based on standard JSF 2.0 Ajax APIs • Client APIs based on • Enterprise theming w/ Theme RollerWith 4.0 – Sentinel We’re introducing cool stuff like, • Client Side Validation • Dialog Framework • Tree Drag & Drop • Deferred Loading and many more…

  19. ­Prime Time with PrimeFaces Components Examples on advanced UI components:DataTable, Gmap, AutoComplete, Client Side Validation, Tree Drag and Drop, The Dialog Framework and others. 10-PrimeFacesComponents https://github.com/marfous/j1demo-pf

  20. In the Jungle of PrimeFaces Themes

  21. In the Jungle of PrimeFaces Themes • Powered w/ jQueryUI and ThemeRoller CSS Framework Skinning and Structural CSS architecture • ThemeRoller provides visual editor to create new themes • ~40 themes available by only adding JAR dependency • Advanced themes are also available • Twitter Bootstrap Theme • Metro UI Theme ($$) • Configuration is done by <context-param> in web.xml

  22. In the Jungle of PrimeFaces Themes Theme variations on UI Components Configuration of theme infrastructure 04-PrimeFacesThemes https://github.com/marfous/j1demo-pf

  23. PrimePush, PrimeUI and PrimeMobile

  24. PrimePush, PrimeUI and PrimeMobile • PrimePush brings first class support with Atmosphere Framework • WebSockets, long polling, streaming, jsonp • PrimeUI is spin-off from the JSF suite, provides rich javascript widgets • autoComplete, dataTable and many others (~35 components) • PrimeMobile offers UI components for mobile devices, supports for: • powered by jQuery

  25. PrimePush, PrimeUI and PrimeMobile PrimePush Checkin Demo w/ PrimeMobile in Action PrimeUI integrated with REST Services 05-PrimePushUiMobile https://github.com/marfous/j1demo-pf

  26. JSF scaffolding with PrimeFaces

  27. JSF scaffolding with PrimeFaces • Generation of CRUD skeleton from the database • NetBeans IDE: JSPs or vanilla Facelets • nbpfcrudgen plugin: Facelets with PrimeFaces • Last feature – NetBeans 7.3.1 generates CDI artifacts • Procedure • Generate entity classes from database • Generate JSF pages from entities

  28. JSF scaffolding with PrimeFaces CRUD application generation using standard JavaServer Faces templates, generation of PrimeFaces templates. 06-JsfPrimeFacesScaffolding https://github.com/marfous/j1demo-pf

  29. Faces Flows

  30. Faces Flows • Reusable collection of screens with defined entry and exit points • Nodes like switchNode, finalizer, methodCall etc. • Derived from proven technologies: Spring WebFlow, ADF Task Flow • JSF bound with CDI - @FlowScoped • Definition: • Faces-config configuration file • Java definition using FlowBuilder (@FlowDefinition)

  31. Faces Flows Sample wizard using navigation elements of the Faces Flow, flow scope defined bean, Faces Flow component as a plugable library. 07-FacesFlow, 07-FacesFlowLibrary https://github.com/marfous/j1demo-pf

  32. Annotation based component registration

  33. Annotation based component registration • Improved FacesComponent interface • Eliminates needs for the TLD file • CDI capable component • @FacesComponent(createTag = true, namespace = ... , // implicitly: http://xmlns.jcp.org/jsf/component tagName = ...)// implicitly: lowercased class name

  34. Annotation based component registration Usage of the tag defined by @FacesComponent without any tag library, CDI binding in the component, Java SE project as a custom tag library. 08-FacesComponent, 08-FacesComponentLibrary https://github.com/marfous/j1demo-pf

  35. File Upload

  36. File Upload • Servlet 3.0 multipart architecture • Standard component with/without AJAX requests • For lower JSF versions already available as PrimeFaces component • Prerequisites • Enctype multipart/form-data of the form • Servlet 3.0

  37. File Upload File Upload of the standard JSF 2.2 and PrimeFaces library in action, with validation of type and size limit. 09-FileUpload https://github.com/marfous/j1demo-pf

  38. Over 90 practical recipes to learn PrimeFaceswritten by: Oleg Varaksin & Yours Truly Author discount 40% with code: TBD PrimeFaces Cookbook

  39. Useful Links • http://docs.oracle.com/javaee/7/tutorial/doc/home.htm • http://www.primefaces.org/showcase • http://blog.primefaces.org • https://netbeans.org/kb/trails/java-ee.html • http://sourceforge.net/projects/nbpfcrudgen

  40. Graphic Section Divider

More Related