This application will make you understand how Model(M), View(V), Controller(C) architecture is implemented in Java Server Faces. This application will make use of UI components, Validator, Navigation and Bean component available with JSF. This application has the following pre-requisites:
- WTP 2.0.1
- Download for wtp-all-in-one-sdk-win32
- Apache Geronimo 2.1
- Download for AG 2.1
- Geronimo Eclipse Plugin (GEP) 2.1
- Download for AG Eclipse plugin
Briefly describing the application, this application will take a user First Name and Last Name. Later these fields will be validated by JSF and using the controller bean and Navigation rule the output will be displayed. This application will also introduce a UI component which is a submit button.
The application development will take you through the following
- Setting Eclipse for Application development
- Define and implement the application Model(M)
- Define and implement Model(M) objects to Controller
- Define and implement View(V) in application
- Define and implement the Validator component
- Define and implement the View navigation by Controller(C)
Once you have all the pre-requisites installed follow the following steps to create a project with Eclipse
- Setting Eclipse for Application development
- Launch Eclipse and Create a dynamic web project as shown in the figure
Unable to render embedded object: File (CreateWebProject.gif) not found.
- Give the fields for the Web Project as shown in the following figure
Unable to render embedded object: File (WebProjectFields.GIF) not found. - Check the box for JavaServerFaces and under the version tab select 1.2 as the version
Unable to render embedded object: File (ProjectFileds.GIF) not found.
- Once done you can give default values for web module and Geronimo Deployment Plan. On the JSF capabilities window check the box and select new as shown in the figure
Unable to render embedded object: File (JSFCapabilities.GIF) not found.
- The next window suggests to create JSF Implementation library. Give the library name as JSFCustomLibrary and add the following jars. Select Finish once done. See the figure below
- <GERONIMO_HOME>\repository\commons-beanutils\commons-beanutils\1.6.1\commons-beanutils-1.6.1.jar
- <GERONIMO_HOME>\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar
- <GERONIMO_HOME>\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar
- <GERONIMO_HOME>\repository\commons-logging\commons-logging\1.0.4\commons-logging-1.0.4.jar
- <GERONIMO_HOME>\repository\org\apache\myfaces\core\myfaces-api\1.2.2\myfaces-api-1.2.2.jar
- <GERONIMO_HOME>\repository\org\apache\myfaces\core\myfaces-impl\1.2.2\myfaces-impl-1.2.2.jar!JSFCustomLibrary.GIF!
Unable to render embedded object: File (JSFCustomLibrary.GIF) not found.
- Check Deploy and modify the URL pattern to *.jsf as shown in the figure. Select Finish.
!EclipseSetUpFinal.GIF!
This finishes the setting up of Eclipse IDE for application development
2. Define and Implement the application Model(M)
Model as suggested by MVC architecture handles data and logic of the application. In an enterprise application, Java Beans are used to represent collection of data and operation on that data. In JSF we use Java Beans to define the Model.
- Under the project explorer right click on the SimpleJSF project and create a new class
!Model1.GIF!
- Fill the New Java Class form with jsf as the package name and FirstName as the bean class name. Select Finish once done.
!Model2.GIF!
- Add the following code to the bean class.
String username;
public String getName()
public void setName(String name)
- Create a second Bean class LastName and add the following code to the class
String lastname;
public String getLName()
public void setLName(String lname)
This completes the Model definition and implementation of bean class.