index | |
---|---|
Go to list of available tutorials | |
Go to Exadel training information |
This
is a handy reference guide for the standard HTML tag library that is
built into JSF. For these tags you need to use the following uri
attribute for the JSP taglib
directive at the top of the file:
http://java.sun.com/jsf/htmlThe table that follows shows you examples of HTML output and browser-rendered output for example uses of the tag library. Also, you can skip ahead to some instructions for downloading this reference as a Web application.
UIForm | UICommand | UIGraphic | UIInput | UIOutput | UIMessage and UIMessages | UISelectBoolean | UISelectMany | UISelectOne | UIPanel | UIColumn and UIData | UISelectItems | UISelectItem
JSF Tag | Rendered Result | HTML Source | |||||||||||||||
UIForm | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
form | |||||||||||||||||
<h:form id="jsftags"> ... </h:form> |
No Renderer |
<form id="jsftags" method="post" action="/jsftags/faces/pages/tags.jsp" enctype="application/x-www-form-urlencoded"> ... <input type="hidden" name="jsftags" value="jsftags" /> <input type="hidden" name="jsftags:link" /> </form> |
|||||||||||||||
UICommand | |||||||||||||||||
commandButton | |||||||||||||||||
<h:commandButton id="submit" value="#{msg.buttonHeader}" action="nextPage"> </h:commandButton> |
<input id="_id0:submit" type="submit" name="_id0:submit" value="Next Step"/> |
||||||||||||||||
commandLink | |||||||||||||||||
<h:commandLink id="link" action="goto"> <h:outputText value="#{msg.linkName}"/> </h:commandLink> |
Next Page |
<a id="_id0:link" href="#" onclick= "document.forms['_id0']['_id0:link'].value= '_id0:link'; document.forms['_id0'].submit(); return false;">Next Page</a> |
|||||||||||||||
UIGraphic | |||||||||||||||||
graphicImage | |||||||||||||||||
<h:graphicImage id="image" alt="jsf-sun" url="/images/jsf-sun.gif"> </h:graphicImage> |
<img id="jsftags:image" src="/jsf-example/images/jsf-sun.gif" alt="jsf-sun" /> |
||||||||||||||||
UIInput | |||||||||||||||||
inputText | |||||||||||||||||
<h:inputText id="address" value="#{jsfexample.address}" /> |
<input type="text" name="jsftags:_id1" value="123 JSF Ave" /> |
||||||||||||||||
inputSecret | |||||||||||||||||
<h:inputSecret redisplay="false" value="#{jsfexample.password}" /> |
<input id="jsftags:password" type="password" name="jsftags:password" value="secret" /> |
||||||||||||||||
inputHidden | |||||||||||||||||
<h:inputHidden id="hidden" value="userPreference" /> |
No Renderer |
<input id="jsftags:hidden" type="hidden" name="jsftags:hidden" value="userPreference" /> |
|||||||||||||||
inputTextArea | |||||||||||||||||
<h:inputTextarea id="textArea" rows="4" cols="7" value="Text goes here.."/> |
<textarea id="jsftags:textArea" name="jsftags:textArea" cols="5" rows="3"> Text goes here.. </textarea> |
||||||||||||||||
UIOutput | |||||||||||||||||
outputText | |||||||||||||||||
<h:outputText value="#{jsfexample.zipCode}"/> |
10032 |
10032 |
|||||||||||||||
outputLabel | |||||||||||||||||
<h:outputLabel for="address"> <h:outputText id="addressLabel" value="User Home Address"/> </h:outputLabel> |
<span id="jsftags:addressLabel"> User Home Address</span> |
||||||||||||||||
outputLink | |||||||||||||||||
<h:outputLink value="#{msg['jsfstudio.home.url']"> <f:verbatim>JSF Studio</f:verbatim> </h:outputLink> |
JSF Studio |
<a href="http://www.jsf-studio.com"> JSF Studio </a> |
|||||||||||||||
outputFormat | |||||||||||||||||
<h:outputFormat value="#{msg.jsfstudioThankYou}"> <f:param value="Joe Blow"/> <f:param id="productName" value="#{msg['jsfstudio.label']}"/> </h:outputFormat> |
Thank you, Joe Blow, for trying Exadel JSF Studio! |
Thank you, Joe Blow, for tryimg Exadel JSF Studio! |
|||||||||||||||
UIMessage and UIMessages | |||||||||||||||||
message | |||||||||||||||||
Enter address: <h:message style="color: red" for="useraddress" /> <h:inputText id="useraddress" value="#{jsfexample.address}" required="true"/> <h:commandButton action="save" value="Save"/> |
Enter address: Validation Error: Value is required. |
Enter address: <span style="color: red"> Validation Error: Value is required. </span> <input id="jsftags:useraddress" type="text" name="jsftags:useraddress" value="" /> <input type="submit" name="jsftags:_id1" value="Save" /> |
|||||||||||||||
UISelectBoolean | |||||||||||||||||
selectBooleanCheckbox | |||||||||||||||||
<h:selectBooleanCheckbox title="emailUpdates" value="#{jsfexample.wantsEmailUpdates}" > </h:selectBooleanCheckbox> <h:outputText value="Would you like email updates?"/> |
Would you like email updates? |
<input type="checkbox" name="jsftags:_id6" checked title="emailUpdates" /> Would you like email updates? |
|||||||||||||||
UISelectMany | |||||||||||||||||
selectManyCheckboxlist | |||||||||||||||||
<h:selectManyCheckbox id="cars" value="#{carsBean.car}"> <f:selectItems value="#{carBean.carList}"/> </h:selectManyCheckbox> |
<span id="jsftags:cars"> <table> <tr> <td><label for="jsftags:cars"> <input name="jsftags:cars" value="accord" type="checkbox"> Honda Accord</input> </label></td> <td><label for="jsftags:cars"> <input name="jsftags:cars" value="4runner" type="checkbox"> Toyota 4Runner</input> </label></td> <td><label for="jsftags:cars"> <input name="jsftags:cars" value="nissan-z" type="checkbox"> Nissan Z350</input< </label></td> </tr> </table> </span> |
||||||||||||||||
selectManyMenu | |||||||||||||||||
<h:selectManyMenu id="cars_selectManyMenu" value="#{carBean.car}"> <f:selectItems value="#{carBean.carList}"/> </h:selectManyMenu> |
<select id="jsftags:cars_selectManyMenu" name="jsftags:cars_selectManyMenu" multiple size="1"> <option value="accord">Honda Accord</option> <option value="4runner">Toyota 4Runner</option> <option value="nissan-z">Nissan Z350</option> </select> |
||||||||||||||||
selectManyListbox | |||||||||||||||||
<h:selectManyListbox id="cars_selectManyListbox" value="#{carBean.car}"> <f:selectItems value="#{carBean.carList}"/> </h:selectManyListbox> |
<select id="jsftags:cars_selectManyListbox" name="jsftags:cars_selectManyListbox" multiple size="3"> <option value="accord">Honda Accord</option> <option value="4runner">Toyota 4Runner</option> <option value="nissan-z">Nissan Z350</option> </select> |
||||||||||||||||
UISelectOne | |||||||||||||||||
selectOneRadio | |||||||||||||||||
<h:selectOneRadio value="#{carBean.currentCar}"> <f:selectItems value="#{carBean.carList}" /> </h:selectOneRadio> |
|
<table><tr> <td> <label for="jsftags:_id9"> <input type="radio" name="jsftags:_id9" value="accord"> Honda Accord </input></label> </td> <td> <label for="jsftags:_id9"> <input type="radio" name="jsftags:_id9" value="4runner"> Toyota 4Runner </input></label> </td> <td> <label for="jsftags:_id9"> <input type="radio" name="jsftags:_id9" value="nissan-z"> Nissan Z350 </input>/label> </td> </tr></table> |
|||||||||||||||
selectOneMenu | |||||||||||||||||
<h:selectOneMenu id="selectCar" value="#{carBean.currentCar}"> <f:selectItems value="#{carBean.carList}" /> </h:selectOneMenu> |
<select id="jsftags:selectCar" name="jsftags:selectCar" size="1"> <option value="accord">Honda Accord</option> <option value="4runner">Toyota 4Runner</option> <option value="nissan-z">Nissan Z350</option> </select> |
||||||||||||||||
selectOneListbox | |||||||||||||||||
<h:selectOneListbox id="pickCar" value="#{carBean.currentCar}"> <f:selectItems value="#{carBean.carList}" /> </h:selectOneListbox> |
<select id="jsftags:pickCar" name="jsftags:selectCar" size="3"> <option value="accord">Honda Accord</option> <option value="4runner">Toyota 4Runner</option> <option value="nissan-z">Nissan Z350</option> </select> |
||||||||||||||||
UIPanel | |||||||||||||||||
Grid and Group | |||||||||||||||||
<h:panelGrid columns="4" footerClass="subtitle" headerClass="subtitlebig" styleClass="medium" columnClasses="subtitle,medium"> <f:facet name="header"> <h:outputText value="Table with numbers"/> </f:facet> <h:outputText value="1" /> <h:outputText value="2" /> <h:outputText value="3" /> <h:outputText value="4" /> <h:outputText value="5" /> <h:outputText value="6" /> <h:outputText value="7" /> <f:facet name="footer"> <h:panelGroup> <h:outputText value="one row" /> <h:outputText value=" " /> <h:outputText value="grouped with panelGroup" /> </h:panelGroup> </f:facet> </h:panelGrid> |
|
<table class="medium"> <thead> <tr><th class="subtitlebig" colspan="4" scope="colgroup">Table with numbers</th> </tr> </thead> <tfoot> <tr><td class="subtitle" colspan="4"> one row grouped with panelGroup </td> </tr> </tfoot> <tbody> <tr> <td class="subtitle">1</td> <td class="medium">2</td> <td class="subtitle">3</td> <td class="medium">4</td> </tr> <tr> <td class="subtitle">5</td> <td class="medium">6</td> <td class="subtitle">7</td> </tr> </tbody> </table> |
|||||||||||||||
UIColumn and UIData | |||||||||||||||||
dataTable and column | |||||||||||||||||
<h:dataTable id="books" columnClasses="list-column-center, list-column-right, list-column-center, list-column-right" headerClass="list-header" rowClasses="list-row" styleClass="list- background" value="#{BookStore.items}" var="store"> <h:column> <f:facet name="header"> <h:outputText value="#{msg.storeNameLabel}"/> </f:facet> <h:outputText value="#{store.name}"/> </h:column> <h:column> <f:facet name="header"> <Subject </f:facet> <h:outputText value="#{store.subject}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="#{msg.storePriceLabel}"/> </f:facet> <h:outputText value="#{store.price}"/> </h:column> </h:dataTable> |
|
<table id="jsftags:books" class="list-background"> <thead> <tr> <th class="list-header" scope="col">Title</th> <th class="list-header" scope="col">Subject</th> <th class="list-header" scope="col">Price ($)</th> </tr> </thead> <tbody> <tr class="list-row"> <td class="list-column-center"> JSF For Dummies</td> <td class="list-column-right"> JSF</td> <td class="list-column-center"> 25.0</td> </tr> <tr class="list-row"> <td class="list-column-center"> Struts For Dummies</td> <td class="list-column-right"> Struts</td> <td class="list-column-center"> 22.95</td> </tr> </tbody> </table> |
|||||||||||||||
UISelectItems | |||||||||||||||||
selectItems | |||||||||||||||||
<h:selectOneMenu id="selectOneCar" value="#{carBean.currentCar}"> <f:selectItems value="#{carBean.carList}" /> </h:selectOneMenu> |
<select id="jsftags:selectOneCar" name="jsftags:selectCar" size="1"> <option value="accord">Honda Accord</option> <option value="4runner">Toyota 4Runner</option> <option value="nissan-z">Nissan Z350</option> </select> |
||||||||||||||||
UISelectItem | |||||||||||||||||
selectItem | |||||||||||||||||
<h:outputText value="Select car color:" /> <h:selectOneMenu id="chooseCarColor" value="apple"> <f:selectItem itemValue="red" itemLabel="Red"/> <f:selectItem itemValue="blue" itemLabel="Blue"/> <f:selectItem itemValue="black" itemLabel="Black"/> <f:selectItem itemValue="green" itemLabel="Green"/> <f:selectItem itemValue="white" itemLabel="White"/> </h:selectOneMenu> |
Select car color: |
Select car color: <select id="jsftags:chooseCarColor" name="jsftags:chooseCarColor" size="1"> <option value="red">Red</option> <option value="blue">Blue</option> <option value="black">Black</option> <option value="green">Green</option> <option value="white">White</option> </select> |
If you would like to run this references as a Web application, download and deploy jsftags-guide.jar . The application contains all the tag examples that you see on this page. It's ready to run. It just needs to be deployed. (Also, the project includes an Ant build script in case you want to rebuild the project.)
Once you have downloaded the Jar file, only a few steps are required. Unzip it by typing:
jar -xvf jsftags-guide.jarThen add this context to Tomcat server:
<Context debug="0" docBase="Path_to_WebContent" path="/jsftags-guide" reloadable="true"/>where
Path_to_WebContent
is the path on your system to the WebContent
folder in the jsftags-guide
folder. Finally, start
Tomcat and type this in your web browser:
http://localhost:8080/jsftags-guide
We have also included a blank project template for starting your own JSF projects. To use it, download jsf-blank.jar . Unzip it as above and you will be ready to start developing your own JSF applications. Don't forget to deploy your applications before running.