<?xml version="1.0" encoding="ISO-8859-1"?>
<ns1:meme ns1:id="38" ns1:title="java server faces" xmlns:ns1="http://www.memento.org"><ns1:author>Jaron Collis</ns1:author><ns1:memeContent><ns1:memenode><ns1:nodename>Core Concept</ns1:nodename><ns1:nodetext>A web application framework. MVC based: pages are declarative, with all logic removed. Aim is to provide a Swing-type toolkit for web applications.</ns1:nodetext><ns1:children><ns1:child>goals</ns1:child><ns1:child>constituents</ns1:child><ns1:child>lifecycle</ns1:child></ns1:children></ns1:memenode><ns1:memenode><ns1:nodename>goals</ns1:nodename><ns1:nodetext>Simpler, easier development </ns1:nodetext><ns1:children><ns1:child>simplify</ns1:child><ns1:child>standardise</ns1:child></ns1:children></ns1:memenode><ns1:memenode><ns1:nodename>constituents</ns1:nodename><ns1:nodetext>Framework consists of a tag library of prefabricated renderable components and a set of APIs.</ns1:nodetext><ns1:children><ns1:child>components</ns1:child><ns1:child>APIs</ns1:child></ns1:children></ns1:memenode><ns1:memenode><ns1:nodename>lifecycle</ns1:nodename><ns1:nodetext>Reconstitute Component Tree - 
Apply Request Values - 
Process Validations - 
Update Model Values - 
Invoke Application - 
Render Respons</ns1:nodetext></ns1:memenode><ns1:memenode><ns1:nodename>components</ns1:nodename><ns1:nodetext>UI components, 
Renderers, 
Validation and Conversion, 
Component Tree (in memory DOM-type model of interface)
</ns1:nodetext></ns1:memenode><ns1:memenode><ns1:nodename>APIs</ns1:nodename><ns1:nodetext>APIs for: representing UI components and managing state, handling events and input validation, defining page navigation, internationalization and accessibility. </ns1:nodetext><ns1:children><ns1:child>events</ns1:child></ns1:children></ns1:memenode><ns1:memenode><ns1:nodename>simplify</ns1:nodename><ns1:nodetext>By providing abstractions such as error handling, session management and reusable components.</ns1:nodetext><ns1:children><ns1:child>methodology</ns1:child></ns1:children></ns1:memenode><ns1:memenode><ns1:nodename>standardise</ns1:nodename><ns1:nodetext>A standard for tool-makers, component writers and application writers.</ns1:nodetext></ns1:memenode><ns1:memenode><ns1:nodename>methodology</ns1:nodename><ns1:nodetext>Author JSP pages, using JSF components that encapsulate HTML elements. 
Write a JavaBean as the state holder of user-input and component data. 
Write event listeners: e.g. action on button click or form submit. 
 
</ns1:nodetext></ns1:memenode><ns1:memenode><ns1:nodename>events</ns1:nodename><ns1:nodetext>JSF supports two events types: ActionEvent (fired when a form is submited or button clicked) and ValueChangedEvent (fired if a JSF component value changes)</ns1:nodetext></ns1:memenode></ns1:memeContent><ns1:access>false</ns1:access><ns1:category>interfaces</ns1:category><ns1:repository>1</ns1:repository><ns1:creationDate>2003-10-14T10:55:07.040+01:00</ns1:creationDate><ns1:lastModified>2003-10-14T11:37:18.021+01:00</ns1:lastModified><ns1:relatedMemes/><ns1:relatedLinks><ns1:link><ns1:label>Sun JSF tutorial</ns1:label><ns1:location>http://java.sun.com/j2ee/javaserverfaces/docs/tutorial.html</ns1:location></ns1:link><ns1:link><ns1:label>Sun JSF homepage</ns1:label><ns1:location>http://java.sun.com/j2ee/javaserverfaces/</ns1:location></ns1:link><ns1:link><ns1:label>JSFCentral resource site</ns1:label><ns1:location>http://www.jsfcentral.com</ns1:location></ns1:link></ns1:relatedLinks></ns1:meme>