Document Information Preface Part I Introduction 1. Overview 2. Using the Tutorial Examples Part II The Web Tier 3. Getting Started with Web Applications 4. Java Servlet Technology 5. JavaServer Pages Technology 6. JavaServer Pages Documents 7. JavaServer Pages Standard Tag Library 8. Custom Tags in JSP Pages 9. Scripting in JSP Pages 10. JavaServer Faces Technology 11. Using JavaServer Faces Technology in JSP Pages Setting Up a Page Using the Core Tags Adding UI Components to a Page Using the HTML Component Tags UI Component Tag Attributes Theid Attribute Theimmediate Attribute Therendered Attribute Thestyle andstyleClass Attributes Thevalue andbinding Attributes Adding a Form Component Using Text Components Rendering a Text Field with theinputText Tag Rendering a Label with theoutputLabel Tag Rendering a Hyperlink with theoutputLink Tag Displaying a Formatted Message with theoutputFormat Tag Rendering a Password Field with theinputSecret Tag Using Command Components for Performing Actions and Navigation Rendering a Button with thecommandButton Tag Rendering a Hyperlink with thecommandLink Tag Using Data-Bound Table Components Adding Graphics and Images with thegraphicImage Tag Laying Out Components with theUIPanel Component Rendering Components for Selecting One Value Displaying a Check Box Using theselectBooleanCheckbox Tag Displaying a Menu Using theselectOneMenu Tag Rendering Components for Selecting Multiple Values TheUISelectItem,UISelectItems, andUISelectItemGroup Components Using theselectItems Tag Using theselectItem Tag Displaying Error Messages with themessage andmessages Tags Using Localized Data Loading a Resource Bundle Referencing Localized Static Data Referencing Error Messages Using the Standard Converters Converting a Component's Value UsingDateTimeConverter UsingNumberConverter Registering Listeners on Components Registering a Value-Change Listener on a Component Registering an Action Listener on a Component Using the Standard Validators Validating a Component's Value Using theLongRangeValidator Binding Component Values and Instances to External Data Sources Binding a Component Value to a Property Binding a Component Value to an Implicit Object Binding a Component Instance to a Bean Property Binding Converters, Listeners, and Validators to Backing Bean Properties Referencing a Backing Bean Method Referencing a Method That Performs Navigation Referencing a Method That Handles an Action Event Referencing a Method That Performs Validation Referencing a Method That Handles a Value-change Event Using Custom Objects Using a Custom Converter Using a Custom Validator Using a Custom Component 12. Developing with JavaServer Faces Technology 13. Creating Custom UI Components 14. Configuring JavaServer Faces Applications 15. Internationalizing and Localizing Web Applications Part III Web Services 16. Building Web Services with JAX-WS 17. Binding between XML Schema and Java Classes 18. Streaming API for XML 19. SOAP with Attachments API for Java Part IV Enterprise Beans 20. Enterprise Beans 21. Getting Started with Enterprise Beans 22. Session Bean Examples 23. A Message-Driven Bean Example Part V Persistence 24. Introduction to the Java Persistence API 25. Persistence in the Web Tier 26. Persistence in the EJB Tier 27. The Java Persistence Query Language Part VI Services 28. Introduction to Security in the Java EE Platform 29. Securing Java EE Applications 30. Securing Web Applications 31. The Java Message Service API 32. Java EE Examples Using the JMS API 33. Transactions 34. Resource Connections 35. Connector Architecture Part VII Case Studies 36. The Coffee Break Application 37. The Duke's Bank Application Part VIII Appendixes A. Java Encoding Schemes B. About the Authors Index | | The Java EE 5 Tutorial |  |
The Example JavaServer Faces ApplicationThe JavaServer Faces technology chapters of this tutorial primarily use a rewritten versionof the Duke’s Bookstore example to illustrate the basic concepts of JavaServer Facestechnology. This version of the Duke’s Bookstore example includes several JavaServer Faces technologyfeatures: The JavaServer Faces implementation providesFacesServlet, whose instances accept incoming requests and pass them to the implementation for processing. Therefore, the application does not need to include a servlet (such as theDispatcher servlet) that processes request parameters and dispatches to application logic, as do the other versions of Duke’s Bookstore. A custom image map component that allows you to select the locale for the application. Navigation configured in a centralized application configuration resource file. This eliminates the need to calculate URLs, as other versions of the Duke’s Bookstore application must do. Backing beans associated with the pages. These beans hold the component data and perform other processing associated with the components. This processing includes handling the event generated when a user clicks a button or a hyperlink. The table that displays the books from the database and the shopping cart are rendered with thedataTable tag, which is used to dynamically render data in a table. ThedataTable tag ontut-install/javaeetutorial5/examples/web/bookstore6/web/bookshowcart.jsp also includes input components. The table that displays the books from the database uses ac:forEach JSTL tag, demonstrating that you can easily use JavaServer Faces component tags with JSTL tags. A custom validator and a custom converter are registered on the credit card field of thebookcashier.jsp page. A value-change listener is registered on the Name field ofbookcashier.jsp. This listener saves the name in a parameter so thattut-install/javaeetutorial5/examples/web/bookstore6/web/bookreceipt.jsp can access it.
This version of Duke’s Bookstore includes the same pages listed inTable 5-1. Italso includes thetut-install/javaeetutorial5/examples/web/bookstore6/web/chooselocale.jsp page, which displays the custom image map that allowsyou to select the locale of the application. This page is displayed firstand advances directly to thebookstore.jsp page after the locale is selected. The packages of the Duke’s Bookstore application are: backing: Includes the backing bean classes components: Includes the custom UI component classes converters: Includes the custom converter class listeners: Includes the event handler and event listener classes model: Includes a model bean class renderers: Includes the custom renderers resources: Includes custom error messages for the custom converter and validator taglib: Includes custom tag handler classes util: Includes a message factory class validators: Includes a custom validator class
Chapter 12, Developing with JavaServer Faces Technology describes how to program backing beans, custom converters and validators, and eventlisteners.Chapter 13, Creating Custom UI Components describes how to program event handlers, custom components, renderers, and taghandlers. The source code for the application is located in thetut-install/javaeetutorial5/examples/web/bookstore6/ directory. To deploy and run the application using NetBeans IDE, follow these steps: Perform all the operations described inAccessing Databases from Web Applications. In NetBeans 5.5, select File→Open Project. In the Open Project dialog, navigate to: tut-install/javaeetutorial5/examples/web/ Select thebookstore6 folder. Select the Open as Main Project check box and the Open Required Projects check box. Click Open Project. In the Projects tab, right-click thebookstore6 project, and select Undeploy and Deploy. To run the application, open the bookstore URLhttp://localhost:8080/bookstore6.
To deploy and run the application using Ant, follow these steps: In a terminal window, go totut-install/javaeetutorial5/examples/web/bookstore6/. Typeant. This target will spawn any necessary compilations, copy files to thetut-install/javaeetutorial5/examples/web/bookstore6/build/ directory, and create a WAR file and copy it to thetut-install/javaeetutorial5/examples/web/bookstore6/dist/ directory. Start the Application Server. Perform all the operations described inCreating a Data Source in the Application Server. To deploy the example, typeant deploy. The deploy target outputs a URL for running the application. Ignore this URL, and instead use the one shown in the next step. To run the application, open the bookstore URLhttp://localhost:8080/bookstore6/.
To learn how to configure the example, refer to theweb.xml file, whichincludes the following elements: Adisplay-name element that specifies the name that tools use to identify the application. Acontext-param element that specifies that thejavax.faces.STATE_SAVING_METHOD parameter has a value ofclient, meaning that state is saved on the client. Alistener element that identifies theContextListener class used to create and remove the database access. Aservlet element that identifies theFacesServlet instance. Aservlet-mapping element that mapsFacesServlet to a URL pattern. Nested inside ajsp-config element is ajsp-property-group element, which sets the properties for the group of pages included in this version of Duke’s Bookstore. SeeSetting Properties for Groups of JSP Pages for more information.
To run the example, open the URLhttp://localhost:8080/bookstore6 in a browser. Copyright © 2010, Oracle and/or its affiliates. All rights reserved.Legal Notices |