Unformatted text preview:

Introduction to JavaServer Faces The following topics will be covered in this chapter Creating a JSF project with NetBeans Generating a form to capture user data by draging a JSF form from the NetBeans palette into our page Laying out JSF tags by taking advantage of the JSF h panelGrid tag Using static and dynamic navigation to defi ne navigation between pages Using the NetBeans New JSF Managed Bean wizard to create a JSF managed bean and automatically add it to the application s faces config xml confi guration file Using the NetBeans Page Flow editor to establish page navigation by graphically connecting pages Implementing custom JSF validators Displaying tabular data in our pages by dragging and dropping the JSF Data Table item from the NetBeans palette into our page Before JSF was developed Java web applications were typically developed using non standard web application frameworks such as Apache Struts Tapestry Spring Web MVC or many others These frameworks are built on top of the Servlet and JSP standards and automate a lot of functionality that needs to be manually coded when using these APIs directly Having a wide variety of web application frameworks available at the time of writing Wikipedia lists 35 Java web application frameworks and this list is far from extensive often resulted in analysis paralysis that is developers often spend an inordinate amount of time evaluating frameworks for their applications The introduction of JSF to the Java EE 5 specifi cation resulted in having a standard web application framework available in any Java EE 5 compliant application server We don t mean to imply that other web application frameworks are obsolete or that they shouldn t be used at all however a lot of organizations consider JSF the safe choice since it is part of the standard and should be well supported for the foreseeable future Additionally NetBeans offers excellent JSF support making JSF a very attractive choice Strictly speaking JSF is not a web application framework as such but a component framework In theory JSF can be used to write applications that are not web based however in practice JSF is almost always used for this purpose In addition to being the standard Java EE 5 component framework one benefi t of JSF is that it was designed with graphical tools in mind making it easy for tools and IDEs such as NetBeans to take advantage of the JSF component model with drag and drop support for components NetBeans provides a Visual Web JSF Designer that allow us to visually create JSF applications This tool is discussed in detail in Chapter 6 Developing Our first JSF Application From an application developer s point of view a JSF application consists of a series of JSP pages containing custom JSF tags one or more JSF managed beans and a confi guration fi le named faces config xml The faces config xml fi le declares the managed beans in the application as well as the navigation rules to follow when navigating from one JSF page to another Creating a New JSF Project To create a new JSF project we need to go to File New Project select the Java Web project category and Web Application as the project type After clicking Next we need to enter a Project Name and optionally change other information for our project although NetBeans provides sensible defaults O n the next page in the wizard we can select the Server Java EE Version and Context Path of our application In our example we will simply pick the default values On the next page of the new project wizard we can select what frameworks our web application will use Unsurprisingly for JSF applications we need to select the JavaServer Faces framework The Visual Web JavaServer Faces framework allows us to quickly build web pages by draggingand dropping components from the NetBeans palette into our pages Although it certainly allows us to develop applications a lot quicker than manually coding it hides a lot of the ins and outs of JSF Having a background in standard JSF development will help us understand what the NetBeans Visual Web functionality does behind the scenes Visual Web JSF is covered in Chapter 6 Whe n clicking Finish the wizard generates a skeleton JSF project for us consisting of a single JSP file called welcomeJSF jsp and a few confi guration fi les web xml faces config xml and if we are using the default bundled GlassFish server the GlassFish specifi c sun web xml fi le is generated as well web xml is the standard confi guration fi le needed for all Java web applications facesconfig xml is a JSF specifi c confi guration fi le used to declare JSF managed beans and navigation rules sun web xml is a GlassFish specifi c confi guration fi le that allows us to override the application s default context root add security role mappings and perform several other confi guration tasks The generated JSP looks like this page contentType text html page pageEncoding UTF 8 taglib prefix f uri http java sun com JSF core taglib prefix h uri http java sun com JSF html DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 Transitional EN http www w3 org TR html4 loose dtd This file is an entry point for JavaServer Faces application html head meta http equiv Content Type content text html charset UTF 8 title JSP Page title head body f view h1 h outputText value JavaServer Faces h1 f view body html As we can see a JSF enabled JSP file is a standard JSP fi le using a couple of JSF specifi c tag libraries The fi rst tag library declared in our JSP by the following line taglib prefix f uri http java sun com JSF core is the core JSF tag library this library includes a number of tags that are independent of the rendering mechanism of the JSF application recall that JSF can be used for applications other than web applications By convention the prefi x f for faces is used for this tag library The second tag library in the generated JSP declared by the following line taglib prefix h uri http java sun com JSF html is the JSF HTML tag library This tag library includes a number of tags that are used to implement HTML specifi c functionality such as creating HTML forms and input fi elds By convention the prefi x h for HTML is used for this tag library The first JSF tag we see in the generated JSP fi le is the f view tag When writing a Java web application using JSF all JSF custom tags must be enclosed inside an f view tag In addition to JSF specifi c tags this tag can contain standard HTML tags as well as tags from other tag libraries such as the JSTL tags


View Full Document

Cal State East Bay CS 6320 - JavaServer Faces

Loading Unlocking...
Login

Join to view JavaServer Faces and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view JavaServer Faces and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?