To add the JavaServer Faces components to your web page, you need to provide the page access to the two standard tag libraries:
- the JavaServer Faces HTML tag library: defines tags that represent common HTML user interface components. A list of the available components with code examples can be found here: Adding Components to a Page Using HTML Tags
- and the JavaServer Faces core tag library: defines tags that perform core actions. A list of the available tags can be found here: Using Core Tags
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
Templates
NOTE: if you use netbeans it can auto-generate stubs for templates and template-clients.Just go to:
- File -> New File...- > JavaServer Faces -> Facelets Template
- File -> New File...- > JavaServer Faces -> Facelets Template Client
The "A Singleton Session Bean Example: counter" example of the oficial JavaEE Tutorial has a simple example of template usage:
- The template is a xhtml page that uses
<ui:insert name="title"></ui:insert> tags to define placeholders. The client pages will then use the name of this placeholders to render content.
Example (template.xhtml):
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>counter - A singleton session bean example.</title> <link href="./css/default.css" rel="stylesheet" type="text/css" /> </head> <body> <h1> <ui:insert name="title">Default Title</ui:insert> </h1> <p> <ui:insert name="body">Default Body</ui:insert> </p> </body> </html>
- The pages that use the template define
<ui:define name="title"> </ui:define>
tags. The content (text and expression language) of this tags will be rendered in the placeholders of the template.
Example (template-client.xhtml):
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"> <body> This text above will not be displayed. <ui:composition template="/template.xhtml"> This text will not be displayed. <ui:define name="title"> This page has been accessed #{count.hitCount} time(s). </ui:define> This text will also not be displayed. <ui:define name="body"> Hooray! </ui:define> This text will not be displayed. </ui:composition> This text below will also not be displayed. </body> </html>
Sem comentários:
Enviar um comentário