NetBeans 73 JSF22

Revision as of 12:44, 15 June 2012 by Marfous (Talk | contribs)

List of JavaServer Faces 2.2 features vs. NetBeans IDE support



Since JavaServer Faces specification in version 2.2 should be completed during NetBeans 7.3 development phase including its support from the GlassFish application server, we should be able to implement support for features of this JSF release.

In following section should be mentioned all known JSF features which should "IDE support-able" and suggestions for them - like difficultness and feature suggestions.

Be aware that the JSF 2.2 specification is still changing and many of described features could work differently or some of features could be added/removed in addition.

Useful links

JSF 2.2 features which can be supported in IDE

Faces Flow

Description/Example: In web applications, and in applications in general actually, there is often the concept of a “flow” that takes the user through a series of screens. Such flows includes wizards, multi-screen subscriptions, bookings, etc.

  • Base Support: @FlowScoped anntotaion, new tablib "xmlns:j=""" should be working by deafult???, as well as new j:<coponents>???
  • Suggestion #1: EL should have new implicit variable in CC: facesFlowScope (EASY & NEEDED)
  • Suggestion #2: Wizard - Create new FacesFlow: It would help to create skeleton for new faces-flow: create FF folder (by convention), ask for steps pages, not sure how much would be possible to define whole faces-flow-definition, see (COMPLEX & NICE_TO_HAVE)
  • Suggestion #3: Hint - CDI not enabled (at @FlowScoped or j:<component>) when the CDI is not enabled since JSF 2.2 is dependend on CDI here (MODERATE & NICE_TO_HAVE)
  • Suggestion #4: EL Faces-Flow CC - i.e. #{facesFlowScope.someKey} someKey variable could be available accross rest pages of the same scope - of the same folder??? (UNKNOWN & NICE_TO_HAVE)

More information:

Facelets Component Tag can be declared via annotation

Description/Example: Facelets does not require an explicit tag handler and a component can be registered via its annotation.

  • Base Support: new parameters of @FacesComponent will be offered by Java code completion
  • Suggestion #1: JSF model should be able to load @FacesComponent and JSF Editor should offer these components in CC, including namespace handling (COMPLEX & NICE_TO_HAVE)

More information:

Facelets ResourceResolver can be declared via annotation

Description/Example: Instead of registering resource resolved in web.xml DD using javax.faces.FACELETS_RESOURCE_RESOLVER @FaceletsResourceResolver can be used.

Base Support: Provide annotation for declaring Facelets ResourceResolver (AUTO)

  • Suggestion #1: Hint at the FaceletsResourceResolver if more annotation like this is used that just the first encountered one will be used (MODERATE & OPTIONAL)

More information:

Component and validator annotations default to simple class name

Description/Example: @FacesComponent and @FacesValidator value attribute becomes optional.

Base Support: value is an optional attribute now - should be handled by java editor (AUTO)

  • Suggestion #1: Hint at the annotation with value which correspond to the class simple name with decapitalized first letter that the value is optional now and can be removed (EASY & NICE_TO_HAVE)

More information:

JSF 2.2 features which are/will be supported automatically

The viewAction Component


    <f:viewAction action="#{someBean.someAction}" />

Base Support: new <f:viewAction> component (AUTO)
More information:

Queue control for AJAX requests

Description/Example: Delay attribute of the <f:ajax> tag can specify AJAX requests queue behavior.

Base Support: new delay attribute at <f:ajax> component (AUTO)
More information:

AJAX + non-AJAX file upload component

Description/Example: New component for uploading files.

Base Support: new <f:fileInput> component (AUTO)
More information:,

Injection in all JSF artifacts

Description/Example: Almost all JSF artifacts can be used as injection target.

Base Support: @EJB, @Inject, ... annotation can be added into Validators, Converters etc. already now, CallEJB actions works also in all java classes of web project (AUTO)
More information:

Other JSF 2.2 features

Here are lists of rest JavaServer Faces 2.2 features which are improvments in the JSF itself and doesn't require any support from the IDE or supports from NetBeans would be quite non-conceptual and such supports aren't available also in another areas (like i.e.: detecting faces-config created nodes programatically, support for beans CC by programatically building facelet etc). All features defining new annotations, new faces-config.xml tags, new objects, methods, properties, const will be supported by default by XML or Java editor as usually.

Java APIs

  • Programmatic configuration
  • FaceletFactory in the standard API
  • FlashFactory and FlashWrapper
  • Instantiating composite component in Java
  • Support for the Collection interface in UIData
  • Wrapper class for Lifecycle


  • Identify client windows via a Window Id (ide does not provide completion for context-param names and values)
  • Restoring view scope before view is build
  • System events for The Flash
  • Publish PostRestoreStateEvent
  • Mandate tree visiting for partial state saving


  • Component modification management

XML configuration

  • Case insensitivity for state saving method (ide does not provide completion for context-param names and values)

Standards compliance

  • Unique ids and fixed name attribute for view state field
  • Allowing id attribute on all elements for HTML5 content (id can be specified for all components)
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo