Differences between revisions 222 and 223
Revision 222 as of 2009-06-07 22:35:00
Size: 16474
Editor: c-68-39-173-222
Comment:
Revision 223 as of 2009-09-20 23:01:15
Size: 16494
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
JSF is quite similar to the [http://jakarta.apache.org/tapestry Tapestry framework] as that is also a component-based framework. JSF can also fill the same "niche" as the well-known [http://jakarta.apache.org/struts/ Struts framework], but has a rather different approach.

The [http://java.sun.com/j2ee/javaserverfaces/ Sun JavaServer Faces(tm) Page] has information about the [http://www.jcp.org/en/jsr/detail?id=252 JSF-1.2] (and older [http://www.jcp.org/en/jsr/detail?id=127 JSF-1.1]) specification. They also provide a useful Tutorial there. !MyFaces Core provides a 100% compliant implementation of these specifications.
JSF is quite similar to the [[http://jakarta.apache.org/tapestry|Tapestry framework]] as that is also a component-based framework. JSF can also fill the same "niche" as the well-known [[http://jakarta.apache.org/struts/|Struts framework]], but has a rather different approach.

The [[http://java.sun.com/j2ee/javaserverfaces/|Sun JavaServer Faces(tm) Page]] has information about the [[http://www.jcp.org/en/jsr/detail?id=252|JSF-1.2]] (and older [[http://www.jcp.org/en/jsr/detail?id=127|JSF-1.1]]) specification. They also provide a useful Tutorial there. !MyFaces Core provides a 100% compliant implementation of these specifications.
Line 17: Line 17:
 * Tomahawk (["Tomahawk"]),
 * Tobago (["Tobago"]),
 * Trinidad (["Trinidad"]),
 * Orchestra (["Orchestra"]),
 * Portlet Bridge (["PortletBridge"]),
 * Extensions (["Extensions"]),
 * Tomahawk ([[Tomahawk]]),
 * Tobago ([[Tobago]]),
 * Trinidad ([[Trinidad]]),
 * Orchestra ([[Orchestra]]),
 * Portlet Bridge ([[PortletBridge]]),
 * Extensions ([[Extensions]]),
Line 36: Line 36:
If your company uses !MyFaces, please add your company here: ["Companies Using MyFaces"]. If your company uses !MyFaces, please add your company here: [[Companies_Using_MyFaces]].
Line 40: Line 40:
 *["FAQ"] - Frequently asked questions about !MyFaces or JSF, including a section on Facelets/Tomahawk/!MyFaces/Trinidad/JSF Troubleshooting  *[[FAQ]] - Frequently asked questions about !MyFaces or JSF, including a section on Facelets/Tomahawk/!MyFaces/Trinidad/JSF Troubleshooting
Line 45: Line 45:
 *["Getting Started"] - Quick guide to !MyFaces Core
 *["Installation and Configuration"] - Installation instructions for different servlet containers
 *["Using MyFaces in a Project built with Maven"] - General instruction on adding !MyFaces Core to a Maven POM.
 *["Building With Maven"] - Building !MyFaces Core from sourcecode using Maven
 *["MyFaces Archetypes for Maven"] - Set up a new JSF project in a minute, following the standards and including the exact dependencies!
 *["Library dependencies"] - Library dependencies and their versions
 *["How to add MyFaces support to a Sun JSF RI application"] - Add !MyFaces Core support to a JSF RI application
 *[[Getting_Started]] - Quick guide to !MyFaces Core
 *[[Installation_and_Configuration]] - Installation instructions for different servlet containers
 *[[Using_MyFaces_in_a_Project_built_with_Maven]] - General instruction on adding !MyFaces Core to a Maven POM.
 *[[Building_With_Maven]] - Building !MyFaces Core from sourcecode using Maven
 *[[MyFaces_Archetypes_for_Maven]] - Set up a new JSF project in a minute, following the standards and including the exact dependencies!
 *[[Library_dependencies]] - Library dependencies and their versions
 *[[How_to_add_MyFaces_support_to_a_Sun_JSF_RI_application]] - Add !MyFaces Core support to a JSF RI application
Line 56: Line 56:
 * ["JSF and MVC"] - JSF and the model-view-controller pattern
 * ["How JSF State Management Works"] - Serialization, !StateHolder, backing beans, component tree, t:saveState explained.
 * ["How The Immediate Attribute Works"] - immediate, validation, model update explained.
 * ["How Component Child Rendering Works"] - getRendersChildren, encodeChildren explained.
 * ["StudyGuide"] - Tips/guide to getting familiar with the !MyFaces Core implementation
 * ["IDAssignment"] - Assignment of IDs to HTML elements.
 * [[JSF_and_MVC]] - JSF and the model-view-controller pattern
 * [[How_JSF_State_Management_Works]] - Serialization, !StateHolder, backing beans, component tree, t:saveState explained.
 * [[How_The_Immediate_Attribute_Works]] - immediate, validation, model update explained.
 * [[How_Component_Child_Rendering_Works]] - getRendersChildren, encodeChildren explained.
 * [[StudyGuide]] - Tips/guide to getting familiar with the !MyFaces Core implementation
 * [[IDAssignment]] - Assignment of IDs to HTML elements.
Line 67: Line 67:
 * ["Working with DataTable and ActionListeners"] - Handling buttons or links in table rows
 * ["ExecutingMethodsFromLinkButtonParameters"] - From List to Detail
 * [[Working_with_DataTable_and_ActionListeners]] - Handling buttons or links in table rows
 * [[ExecutingMethodsFromLinkButtonParameters]] - From List to Detail
Line 70: Line 70:
 * ["ManagingDataScrollerPage"] - From Detail back to List : How to stay on the right table page.
 * ["Working With DataTable And PreserveDataModel"] - Use the data table and preserve data model correctly.
 * ["WorkingWithLargeTables"] - Use dataTable/dataScroller without having the entire dataset in memory
 * ["Working with auto sortable tables"] - Enable automatic sort on your data table
 * ["Exporting DataTable To MS-Excel"] - Out put a data table to excel
 * [[ManagingDataScrollerPage]] - From Detail back to List : How to stay on the right table page.
 * [[Working_With_DataTable_And_PreserveDataModel]] - Use the data table and preserve data model correctly.
 * [[WorkingWithLargeTables]] - Use dataTable/dataScroller without having the entire dataset in memory
 * [[Working_with_auto_sortable_tables]] - Enable automatic sort on your data table
 * [[Exporting_DataTable_To_MS-Excel]] - Out put a data table to excel
Line 78: Line 78:
 *["TracingMyFacesUsingAspectJ"] - How to trace MyFaces using AspectJ
 *["FacesTrace"] - A visual debugger that can be integrated to the JSF pages
 *[[TracingMyFacesUsingAspectJ]] - How to trace MyFaces using AspectJ
 *[[FacesTrace]] - A visual debugger that can be integrated to the JSF pages
Line 83: Line 83:
 * ["SettingTabClasses"] - Setting CSS Classes on Tabs.  * [[SettingTabClasses]] - Setting CSS Classes on Tabs.
Line 87: Line 87:
 * ["Display Radio Buttons In Columns"] - Example of Displaying Radio Buttons in Columns.
 * ["Radio Buttons and Browsers"] - Notes about radio buttons and browser specific behavior.
 * [[Display_Radio_Buttons_In_Columns]] - Example of Displaying Radio Buttons in Columns.
 * [[Radio_Buttons_and_Browsers]] - Notes about radio buttons and browser specific behavior.
Line 92: Line 92:
 * ["JavascriptWithJavaServerFaces"] - Call javascript routines with commandLink and commandButton.
 * ["SubmitPageOnValueChange"] - Make an input control submit a page when the value changes.
 * ["ManagingCheckboxes"] - Tips for working with checkboxes in datatables.
 * ["JavascriptOpenNewWindow"] - A tutorial how to open javascript windows and how to get around the problems involved.
 * [http://wiki.apache.org/myfaces/forceId#head-801527c2f31f404d73f943966595e2d0dd200d76 Finding JSF Components with javascript] - How to deal with the complex html IDs that JSF generates for components
 * [[JavascriptWithJavaServerFaces]] - Call javascript routines with commandLink and commandButton.
 * [[SubmitPageOnValueChange]] - Make an input control submit a page when the value changes.
 * [[ManagingCheckboxes]] - Tips for working with checkboxes in datatables.
 * [[JavascriptOpenNewWindow]] - A tutorial how to open javascript windows and how to get around the problems involved.
 * [[http://wiki.apache.org/myfaces/forceId#head-801527c2f31f404d73f943966595e2d0dd200d76|Finding JSF Components with javascript]] - How to deal with the complex html IDs that JSF generates for components
Line 100: Line 100:
 * ["NullCapableConverter"] - Make a converter to handle disabled or null-capable !SelectItems.
 * ["Create and Display Messages"] - Create Messages to be used by view with h:message h:messages.
 * ["OptionalValidationFramework"] - allows you to change the behavior of validators in a form
 * ["Entity Converters"] - a special kind of converter that can take the input value as id and the return the desired entity instance.
 * ["Client_Side_Validation"] - Run conversions and validations at client side.
 * [[NullCapableConverter]] - Make a converter to handle disabled or null-capable !SelectItems.
 * [[Create_and_Display_Messages]] - Create Messages to be used by view with h:message h:messages.
 * [[OptionalValidationFramework]] - allows you to change the behavior of validators in a form
 * [[Entity_Converters]] - a special kind of converter that can take the input value as id and the return the desired entity instance.
 * [[Client_Side_Validation]] - Run conversions and validations at client side.
Line 108: Line 108:
 * ["Displaying Errors/Infos/Warnings in JSF Pages"] - A method for communicating messages to the user.
 * ["Handling Server Errors"] - methods for handling server errors.
 * [[Displaying_Errors/Infos/Warnings_in_JSF_Pages]] - A method for communicating messages to the user.
 * [[Handling_Server_Errors]] - methods for handling server errors.
Line 112: Line 112:
 * ["Navigation Overview"] - Overview of the Navigation Tags
 * ["Custom Navigation Handler"] - Enhance the !MyFaces Core Navigation Handler to support parameter passing, dynamic navigation and redirection.
 * ["InvokingJsfPagesWithStandardUrls"] - Creating standard HTML links (with parameters) that display JSF pages (using JSF in a RESTful environment)
 * [[Navigation_Overview]] - Overview of the Navigation Tags
 * [[Custom_Navigation_Handler]] - Enhance the !MyFaces Core Navigation Handler to support parameter passing, dynamic navigation and redirection.
 * [[InvokingJsfPagesWithStandardUrls]] - Creating standard HTML links (with parameters) that display JSF pages (using JSF in a RESTful environment)
Line 118: Line 118:
 * ["AccessingOneManagedBeanFromAnother"] - Accessing one managed bean from another
 * ["ClearInputComponents"] - Clear/Reset all submitted values in input components on a page.
 * ["AccessFacesContextFromServlet"] - How to access the Faces Context from a servlet.
 * ["NestedFacesContext"] - A solution how to deal with nested FacesContexts
 * ["Execute action on page load"] - How to run JSF actions and run navigation rules when a page loads.
 * [[AccessingOneManagedBeanFromAnother]] - Accessing one managed bean from another
 * [[ClearInputComponents]] - Clear/Reset all submitted values in input components on a page.
 * [[AccessFacesContextFromServlet]] - How to access the Faces Context from a servlet.
 * [[NestedFacesContext]] - A solution how to deal with nested FacesContexts
 * [[Execute_action_on_page_load]] - How to run JSF actions and run navigation rules when a page loads.
Line 126: Line 126:
 * ["Performance"] - Making JSF perform
 * ["PerformanceTestingWithJMeter"] - Using JMeter to test your application's performance.
 * ["Secure Your Application"] - Encrypt the view state.
 * ["LoggingSettings"] - Useful classes to log on for troubleshooting.
 * ["A Little Quality Assurance"] - How to validate your managed beans and navigation rules.
 * ["Management of Webapp Resources With Weblets"] - How to use resources packaged in a jar in MyFaces apps using Facelets.
 * ["Bandwidth"] - Compression
 * ["SecurityContext"] - Security Extension
 * ["RedirectTracker"] - Preserve messages and t:saveState across redirects
 * [[Performance]] - Making JSF perform
 * [[PerformanceTestingWithJMeter]] - Using JMeter to test your application's performance.
 * [[Secure_Your_Application]] - Encrypt the view state.
 * [[LoggingSettings]] - Useful classes to log on for troubleshooting.
 * [[A_Little_Quality_Assurance]] - How to validate your managed beans and navigation rules.
 * [[Management_of_Webapp_Resources_With_Weblets]] - How to use resources packaged in a jar in MyFaces apps using Facelets.
 * [[Bandwidth]] - Compression
 * [[SecurityContext]] - Security Extension
 * [[RedirectTracker]] - Preserve messages and t:saveState across redirects
Line 138: Line 138:
 * ["Setup For File Uploads"] - A quick and dirty checklist for setting up your !MyFaces application for file uploads.
 * ["Dynamic Menus with JSCookMenu"] - Create dynamic menus using the jsCookMenu component.
 * ["WYSIWYG Editor"] - Integrate TinyMCE or DOJO WYSIWYG Editor into !Myfaces Application
 * [[Setup_For_File_Uploads]] - A quick and dirty checklist for setting up your !MyFaces application for file uploads.
 * [[Dynamic_Menus_with_JSCookMenu]] - Create dynamic menus using the jsCookMenu component.
 * [[WYSIWYG_Editor]] - Integrate TinyMCE or DOJO WYSIWYG Editor into !Myfaces Application
Line 146: Line 146:
 * ["ComponentPack"] - Create your own component pack
 * ["Creating Composite Components"] - Create a composite or compound component out of existing components
 * ["External Resources"] - Integrate javascript, css, images and more using myfaces !AddResource component
 * ["Programmatic"] - Programmatic creation and manipulating components in the runtime
 * [[ComponentPack]] - Create your own component pack
 * [[Creating_Composite_Components]] - Create a composite or compound component out of existing components
 * [[External_Resources]] - Integrate javascript, css, images and more using myfaces !AddResource component
 * [[Programmatic]] - Programmatic creation and manipulating components in the runtime
Line 152: Line 152:
 * ["Using Portlets"] - Using !MyFaces within Portlets  * [[Using_Portlets]] - Using !MyFaces within Portlets
Line 156: Line 156:
 * ["From 1.0.9m9 to 1.1.0"]
 * ["
From 1.1.0 to 1.1.1"]
 * ["
From 1.1.x to nightly"]
 * ["From 1.1.1 to
1.1.3 with Jboss"]
 * ["
Upgrading to Tomahawk 1.1.3"]
 * ["
More tips on Upgrading to Tomahawk 1.1.3"]
 * ["
Tomahawk 1.1.4 to 1.1.5"]
 * [[From_1.0.9m9_to_1.1.0]]
 * [[
From 1.1.0 to 1.1.1]]
 * [[
From 1.1.x to nightly]]
 * [[From_1.1.1_to_
1.1.3_with_Jboss]]
 * [[
Upgrading_to_Tomahawk_1.1.3]]
 * [[
More_tips_on_Upgrading_to_Tomahawk_1.1.3]]
 * [[
Tomahawk_1.1.4_to_1.1.5]]
Line 166: Line 166:
 * ["Sending_Files"] - How to set up a action which will download a file.
 * ["Parameters_In_EL_Functions"] - How to pass parameters in an EL expression function.
 * [[Sending_Files]] - How to set up a action which will download a file.
 * [[Parameters_In_EL_Functions]] - How to pass parameters in an EL expression function.
Line 171: Line 171:
 *["JsfComponents"] - List of JSF components and how to use them
 *["Tomahawk"] - List of custom !MyFaces Tomahawk components and extensions, and how to use them.
 *[[JsfComponents]] - List of JSF components and how to use them
 *[[Tomahawk]] - List of custom !MyFaces Tomahawk components and extensions, and how to use them.
Line 176: Line 176:
 * ["Hibernate And MyFaces"] - Bind Hibernate to JSF/!MyFaces
 * ["Tiles and JSF"] - Use Tiles with !MyFaces
 * ["JSF With Spring"] - Use the Spring Framework with !MyFaces.
 * [http://ocpsoft.com/prettyfaces "JSF With PrettyFaces"] - Use the PrettyFaces URL Bookmarking Framework with JSF.
 * [http://notdennisbyrne.blogspot.com/2007/09/integrating-guice-and-jsf.html JSF and Google Guice] Integrating Guice and JSF
 * ["MigrateFromJspToFacelets"] - Step by step instructions to migrate to Facelets.
 * ["Facelets with Trinidad"] - To use trinidad components with facelets, you must also create a facelets configuration file.
 * ["Use Facelets with Tomahawk"] - To use tomahawk components with facelets, you must also create a tomahawk.taglib.xml facelets configuration file.
 * ["Facelets Support within IDEs"] - Using Facelets from within various Integrated Development Environments
 * ["SEAM Integration"] - Integrate Jboss Seam into your application.
 * ["Integrating Ajaxanywhere"] - See how easy is to "ajaxize" your application.
 * ["Myfaces Eclipse Setup"] - Configure eclipse to launch MyFaces applications using tomcat/jetty.
 * ["JSF and Acegi"] - Using Java Server Faces with Acegi Security
 * ["Java Studio Creator and MyFaces"] - Java Studio Creator and MyFaces
 * ["AJAX4JSF and MyFaces"] - Using Ajax4JSF with MyFaces
 * ["ICEfaces and MyFaces"] - Using ICEfaces with MyFaces and the Tomahawk Components
 * ["JSF Flex"] - JSF and Flex bridge. Allows creation of Flex applications by normal JSF usage.
 * [[Hibernate_And_MyFaces]] - Bind Hibernate to JSF/!MyFaces
 * [[Tiles_and_JSF]] - Use Tiles with !MyFaces
 * [[JSF_With_Spring]] - Use the Spring Framework with !MyFaces.
 * [[http://ocpsoft.com/prettyfaces|"JSF With PrettyFaces"]] - Use the PrettyFaces URL Bookmarking Framework with JSF.
 * [[http://notdennisbyrne.blogspot.com/2007/09/integrating-guice-and-jsf.html|JSF and Google Guice]] Integrating Guice and JSF
 * [[MigrateFromJspToFacelets]] - Step by step instructions to migrate to Facelets.
 * [[Facelets_with_Trinidad]] - To use trinidad components with facelets, you must also create a facelets configuration file.
 * [[Use_Facelets_with_Tomahawk]] - To use tomahawk components with facelets, you must also create a tomahawk.taglib.xml facelets configuration file.
 * [[Facelets_Support_within_IDEs]] - Using Facelets from within various Integrated Development Environments
 * [[SEAM_Integration]] - Integrate Jboss Seam into your application.
 * [[Integrating_Ajaxanywhere]] - See how easy is to "ajaxize" your application.
 * [[Myfaces_Eclipse_Setup]] - Configure eclipse to launch MyFaces applications using tomcat/jetty.
 * [[JSF_and_Acegi]] - Using Java Server Faces with Acegi Security
 * [[Java_Studio_Creator_and_MyFaces]] - Java Studio Creator and MyFaces
 * [[AJAX4JSF_and_MyFaces]] - Using Ajax4JSF with MyFaces
 * [[ICEfaces_and_MyFaces]] - Using ICEfaces with MyFaces and the Tomahawk Components
 * [[JSF_Flex]] - JSF and Flex bridge. Allows creation of Flex applications by normal JSF usage.
Line 197: Line 197:
 * ["FacesFreeway"] - An effort to minimize the work for simple input forms (no longer actively developed)
 * [http://www.metawidget.org Metawidget] - Another effort to minimize the work for input forms
 * ["jsf-comp"] Sourceforge project - Shared community code sandbox.
 * [[FacesFreeway]] - An effort to minimize the work for simple input forms (no longer actively developed)
 * [[http://www.metawidget.org|Metawidget]] - Another effort to minimize the work for input forms
 * [[jsf-comp]] Sourceforge project - Shared community code sandbox.
Line 205: Line 205:
 * ["MyFaces Developer Notes"] - !MyFaces developers guidelines
 * ["Contributing Patches"] - How to attach code changes and other files to the !MyFaces issue tracker
 * ["EditXdocs"] - Editing Myfaces xdocs files in the MLMind XML editor
 * ["JSR-252"] - Info you will need if you are working on the !MyFaces JSF 1.2 project
 * ["Obsolete/older MyFaces Development pages"] - Building older versions of !MyFaces
 * ["Building MyFaces in your IDE"] - Building, Debugging and Deploying !MyFaces in your IDE
 * ["Automated Testing"] - Automated testing of !MyFaces
 * ["Source Code Packaging"] - How !MyFaces source code is divided into modules and java packages.
 * ["Shared - impl or tomahawk"] - Which shared_XXX namespace should I use?
 * [[MyFaces_Developer_Notes]] - !MyFaces developers guidelines
 * [[Contributing_Patches]] - How to attach code changes and other files to the !MyFaces issue tracker
 * [[EditXdocs]] - Editing Myfaces xdocs files in the MLMind XML editor
 * [[JSR-252]] - Info you will need if you are working on the !MyFaces JSF 1.2 project
 * [[Obsolete/older_MyFaces_Development_pages]] - Building older versions of !MyFaces
 * [[Building_MyFaces_in_your_IDE]] - Building, Debugging and Deploying !MyFaces in your IDE
 * [[Automated_Testing]] - Automated testing of !MyFaces
 * [[Source_Code_Packaging]] - How !MyFaces source code is divided into modules and java packages.
 * [[Shared_-_impl_or_tomahawk]] - Which shared_XXX namespace should I use?
Line 218: Line 218:
 *["promotion"] - Requirements for promotion of a sandbox component
 *["Release Plans"] - Plans and notes on individual releases
 *["ReleaseHowTo"] - The ultimate guide for releasing MyFaces projects
 *["Release Procedure"] - @deprecated (Specific instructions for SVN and Maven tasks related to releases)
 *["Deploying the Webpage of MyFaces"] - Documentation on deploying the MyFaces webpage
 *["MyFaces Artifacts"] - List of Build Artifacts and their Contents
 *["New_Committers"] - Additional info for new committers
 *["MyFaces Commons Refactoring"] - Checklist for Upcoming Refactoring of !MyFaces commons classes
 *["Source Code Repository Structure"] - Trunks and Branches
 *["Name Finding"] - Monitor requests to find names for components/projects/etc
 *[[promotion]] - Requirements for promotion of a sandbox component
 *[[Release_Plans]] - Plans and notes on individual releases
 *[[ReleaseHowTo]] - The ultimate guide for releasing MyFaces projects
 *[[Release_Procedure]] - @deprecated (Specific instructions for SVN and Maven tasks related to releases)
 *[[Deploying_the_Webpage_of_MyFaces]] - Documentation on deploying the MyFaces webpage
 *[[MyFaces_Artifacts]] - List of Build Artifacts and their Contents
 *[[New_Committers]] - Additional info for new committers
 *[[MyFaces_Commons_Refactoring]] - Checklist for Upcoming Refactoring of !MyFaces commons classes
 *[[Source_Code_Repository_Structure]] - Trunks and Branches
 *[[Name_Finding]] - Monitor requests to find names for components/projects/etc
Line 231: Line 231:
 *["Apache Server"] - Project Infrastructure, Setup of Apache2 on Solaris Zone
 *["Continuum Build"] - Care and feeding of the Continuum build processes on the Zone
 *[[Apache_Server]] - Project Infrastructure, Setup of Apache2 on Solaris Zone
 *[[Continuum_Build]] - Care and feeding of the Continuum build processes on the Zone
Line 239: Line 239:
 * Channel ##jsf on irc.freenode.net - chat discussion of jsf issues. Log can be found on [http://uwyn.com/drone/log/bevinbot/%23jsf]  * Channel ##jsf on irc.freenode.net - chat discussion of jsf issues. Log can be found on [[http://uwyn.com/drone/log/bevinbot/%23jsf]]
Line 243: Line 243:
 * ["How to Help"] - Hints how you can get involved, help to support and contribute to Apache !MyFaces
 * ["Help Wanted"] - Want to contribute? Volunteers needed for this list of tasks.
 * ["Acknowledgements"] - The most important page of this WIKI: saying "Thanks" to people who helped making !MyFaces a success!
 * [[How_to_Help]] - Hints how you can get involved, help to support and contribute to Apache !MyFaces
 * [[Help_Wanted]] - Want to contribute? Volunteers needed for this list of tasks.
 * [[Acknowledgements]] - The most important page of this WIKI: saying "Thanks" to people who helped making !MyFaces a success!
Line 249: Line 249:
 * ["Spotlight"] - Articles about !MyFaces
 * ["What Tools Do You Use to Develop Web Applications Using JSF"] - Experiences from fellow developers
 * [[Spotlight]] - Articles about !MyFaces
 * [[What_Tools_Do_You_Use_to_Develop_Web_Applications_Using_JSF]] - Experiences from fellow developers
Line 254: Line 254:
 * ["Powered by MyFaces"] - Projects developed using !MyFaces components
 * ["Companies Using MyFaces"] - List of companies and institutions using !MyFaces in their day to day work
 * ["3rd Party Contributions"] - 3rd party tools and APIs that work with !MyFaces
 * [[Powered_by_MyFaces]] - Projects developed using !MyFaces components
 * [[Companies_Using_MyFaces]] - List of companies and institutions using !MyFaces in their day to day work
 * [[3rd_Party_Contributions]] - 3rd party tools and APIs that work with !MyFaces
Line 260: Line 260:
 * ["UsefulLinks"] - Tutorials for !JavaServer Faces, !MyFaces project activity and other useful links  * [[UsefulLinks]] - Tutorials for !JavaServer Faces, !MyFaces project activity and other useful links

Apache MyFaces

JavaServer(tm) Faces (JSF) is a web application framework specification (JSR252, JSR127) based around the model-view-controller pattern.

The Apache MyFaces project provides both an implementation of the JSF specification ("MyFaces Core"), and a set of add-on libraries that work on any implementation of the specification (including, of course, Apache MyFaces Core).

JSF supports the development of highly interactive applications where the system interacting with the user is separated from the system that contains the presentation logic; web-browser/web-server is one example. JSF has a "component-based" architecture, and therefore is more like "Swing for the web" than an HTML publishing framework. People familiar with Swing, Gnome, KDE, MFC, VisualBasic, Delphi etc should feel right at home developing JSF applications.

JSF is quite similar to the Tapestry framework as that is also a component-based framework. JSF can also fill the same "niche" as the well-known Struts framework, but has a rather different approach.

The Sun JavaServer Faces(tm) Page has information about the JSF-1.2 (and older JSF-1.1) specification. They also provide a useful Tutorial there. MyFaces Core provides a 100% compliant implementation of these specifications.

The Apache MyFaces family of projects includes the following libraries that can be used with any JSF implementation to add extra features and flexibility:

You can find further information about the MyFaces subprojects on the official site at http://myfaces.apache.org.

See the MyFaces Tomahawk and Sandbox examples in action:

See a MyFaces real world use case at JavaWorld

See the dojoFacelets in action:

If your company uses MyFaces, please add your company here: Companies_Using_MyFaces.

FAQ

  • FAQ - Frequently asked questions about MyFaces or JSF, including a section on Facelets/Tomahawk/!MyFaces/Trinidad/JSF Troubleshooting

Using MyFaces Core

JSF and MyFaces Core in Theory: The Concepts

JSF and MyFaces Core in Practice: The HowTo's

Working with tables

Tracing and Debugging

Working with TabbedPanes

Working with Radio Buttons

Working with JavaScript and JSF

Conversion and Validation

Managing Errors/Infos/Warnings

Backend

Configuration of special features

Properly use those extended components

JSF and MyFaces in Practice: Specialized Trails

Creating Custom Components

Portlets

Migration from previous versions

misc

JSF and MyFaces: The Reference

  • JsfComponents - List of JSF components and how to use them

  • Tomahawk - List of custom MyFaces Tomahawk components and extensions, and how to use them.

Sibling projects

  • FacesFreeway - An effort to minimize the work for simple input forms (no longer actively developed)

  • Metawidget - Another effort to minimize the work for input forms

  • jsf-comp Sourceforge project - Shared community code sandbox.

MyFaces Development and Project Management

MyFaces Development

MyFaces Project Management

MyFaces Project Infrastructure

  • Apache_Server - Project Infrastructure, Setup of Apache2 on Solaris Zone

  • Continuum_Build - Care and feeding of the Continuum build processes on the Zone

Community and Context

Talk, talk, talk

With a little help of our friends

  • How_to_Help - Hints how you can get involved, help to support and contribute to Apache MyFaces

  • Help_Wanted - Want to contribute? Volunteers needed for this list of tasks.

  • Acknowledgements - The most important page of this WIKI: saying "Thanks" to people who helped making MyFaces a success!

Random Musings

References

On the web

  • UsefulLinks - Tutorials for JavaServer Faces, MyFaces project activity and other useful links

FrontPage (last edited 2013-07-26 12:49:05 by 14)