JavaServer™ Faces (JSF)
JavaServer™ Faces (JSF)
Front App
Ctrl
Backend
JSF Page
WML
Render Kit
Phone
WML
Request Processing Lifecycle
Phases
Faces Apply
Restore Process
Request
Request View Validation
Value
Render Response
Response complete
Response complete
Update
Faces Process Invoke Process
Render Model
Events Application Events
Resp Response Values
onse
Conversion Errors /
Render Response Validation / Conversion
• UI components
• Event handling model
• Conversion and Validation model
• Rendering model
• Page navigation support
UI Components
• UIComponent / UIComponentBase
- Base class for all user interface components
• Standard UIComponent Subclasses
- UICommand, UIForm, UIOutput
- UIGraphic, UIInput, UIPanel, UIParameter
- UISelectBoolean, UISelectMany, UISelectOne
• Example:
• <h:inputText id="userNo"
value="#{UserNumberBean.userNumber}"/>
Validators and Converters
• Converters:
• <h:input_text valueRef=”testingBean.today”
convertor=”DateTime”/>
• Validators:
• <h:input_text valueRef=”testingBean.today”
• <f:validator_length minimum=”6”
maximum='10” />
Rendering Model
• Renderers-Adapt components to a
specific markup language
- Decoding
- Encoding
Events and Listeners
• (Faces-config.xml)
01 <managed-bean>
02 <managed-bean-name>
03 LoginFormBean
04 </managed-bean-name>
05 <managed-bean-class>
06 myapp.LoginFormBean
07 </managed-bean-class>
08 <managed-bean-scope>
09 request
10 </managed-bean-scope>
11 </managed-bean>
Step 3: Create JSF Pages
01 <f:view>
02 <f:form formName=”logonForm”>
03 <h:panel_grid columns=”2”>
04 <h:output_text value=”Username:”/>
05 <h:input_text id=”username” length=”16”
valueRef=”logonBean.username”/>
07 <h:output_text value=”Password:”/>
08 <h:input_secret id=”password” length=”16”
valueRef=”logonBean.password”/>
10 <h:command_button type=”submit”
label=”LogOn”actionRef=”logonBean.logon”/>
13 <h:command_button type=”reset” label=”Reset”/>
15 </h:panel_grid>
16 </f:form>
17 </f:view>
Binding UI to Managed Bean
Login.jsp
<h:input_text id=”userName”valueRef=”LoginFormBean.userName”/>
• WEB-INF/web.xml
• WEB-INF/faces-config.xml
• WEB-INF/classes/LoginFormBean.class
• login.jsp
• Required Jars:
• WEB-INF/lib/jsf-api.jar
• WEB-INF/lib/jsf-ri.jar
• WEB-INF/lib/jstl.jar
• WEB-INF/lib/jsf-el.jar
• WEB-INF/lib/standard.jar
• WEB-INF/lib/commons-beanutils.jar
• WEB-INF/lib/commons-digester.jar
• WEB-INF/lib/commons-collections.jar
• WEB-INF/lib/commons-logging.jar
Thank You !