Introduction to JavaServer Faces, Part 1 - Writing the Object Model for the Listener and Component Tree Example (
Page 8 of 9 )
For this application, you need a JavaBean to store the two numbers to add and the result of the addition. Listing 2 presents the JavaBean called NumberBean.
Listing 2 The NumberBean JavaBean
package ch02a
;
public class NumberBean {
int firstNumber = 0;
int secondNumber = 0;
public NumberBean () {
System.out.println("Creating NumberBean");
}
public void setFirstNumber(int number) {
firstNumber = number;
System.out.println("setFirstNumber: " + number);
}
public int getFirstNumber() {
System.out.println("getFirstNumber: " + firstNumber);
return firstNumber;
}
public void setSecondNumber(int number) {
secondNumber = number;
System.out.println("setSecondNumber: " + number);
}
public int getSecondNumber() {
System.out.println("getSecondNumber: " + secondNumber);
return secondNumber;
}
public int getResult() {
System.out.println("getResult " + (firstNumber + secondNumber));
return firstNumber + secondNumber;
}
}
Writing the Application Configuration File
As explained earlier in the chapter, the best way to make the JavaBean available to the JSF application is to register it in the application configuration file. Listing 3 shows the application configuration file (faces-config.xml) needed by the application.
Listing 3 The Application Configuration File (faces-config.xml) for the Listener and Component Tree Example
<?xml version="1.0"? >
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
<managed-bean>
<managed-bean-name>numberBean</managed-bean-name>
<managed-bean-class>ch02a.NumberBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
Authoring the JSP Page for the Listener and Component Tree Example
For the user interface, you need a JSP page called adder.jsp, which is shown in Listing 4.
Listing 4 The adder.jsp Page
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><f:use_faces><h:form formName="addForm">
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title>Add 2 numbers</title>
</head>
<body>
<f:use_faces>
<h:form formName="addForm" >
<br/>First Number:
<h:input_number id="firstNumber"
valueRef="numberBean.firstNumber"/>
<br/>Second Number:
<h:input_number id="secondNumber"
valueRef="numberBean.secondNumber"/>
<br/>Result:
<h:output_number id="output" valueRef="NumberBean.result"/>
<br/>
<h:command_button id="submitButton" label="Add"
commandName="submit" >
<f:action_listener type="ch02a.MyActionListener" />
</h:command_button>
</h:form>
</f:use_faces>
</body>
</html>
Remember: This is part one of the second chapter of JavaServer Faces Programming, by Budi Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983). Stay tuned for part 2 of "Introduction to JavaServer Faces," where we learn about JSP, JavaBeans, and Model 2. Buy this book! |