Facelets/JSF Editing Features for Netbeans 6.8

JSF/Facelets tags

The project's classpath is scanned for all Tag Library Descriptors representing JSF components. Composite library and Facelets library are available by default.

  • DONE code coloring - all declared JSF/Facelets tags are rendered in bold font
  • DONE code folding - there is code folding for the JSF tags
  • code navigation - the default html navigator is shown for xhtml files showing a tree of html components. Since tags with different namespaces are parsed in different trees it is not simple to show a merged tree of html-jsf tags in one tree. An alternative would be having multiple trees in the navigator, but this doesn't seem to be useful at all. Another possible way would be to show two separated trees - one for html tags and second - a merged one for the other JSF tags.
  • DONE indentation is done by html indentation support, the jsf tags are treated as html tags.
  • DONE tag matching for JSF tags
  • navigation line - currently it shows only html components path, it is desired to show also the jsf tags in the path.
  • DONE completing open tags with default prefixes
  • DONE completing end tags
  • DONE completing tags' attribute names
  • DONE tags autocompletion - tag are offered in the completion even w/o their namespace declaration. In that case if completed the declaration with default prefix defined in the library is added to the root element of the document.
  • DONE completion documentation - there is a documentation extracted from the TLDs for all tags and their attributes
  • DONE completion for xmlns attribute value - offers all libraries' URIs for the value w/o the already declared ones
  • completion for xmlns attribute name - offers all available unused default prefixes + autocompletes the paired URI as the attribute value.
  • DONE composite components completion (components from facelets libraries (.taglib.xml)). It needs to take into account the convention over configuration - some of the locations are predefined and it is enough to just put a file there and it behaves like to be registered.
  • DONE Hyperlinking for composite components. Tags navigates to the source file.
  • DONE Hyperlinking for composite components - The tag's attributes navigates to the composite component interface attributes
  • Hyperlinking for JSF components - JSF componens tags navigates to the java/xhtml sources if available.
  • DONE goto-source/code-completion works on variables defined in JSF page Isuezilla issue

Error checking

  • mark declarations of namespaces of missing libraries
  • DONE Libraries usages/declaration error checks - if the declared library is available, if the declared library is used, if there are usages of undeclared library
  • WON'T BE DONE semantic error checks per library - checking of attribute value / tags nesting. For example for <ui:composition template="..."/> - check whether the template exists.
  • DONE error checking of JSF components usages - tag present in the library, has all required attrs, all the attrs are according to the definition.
  • Error checks for EL usages - check if the object/bean/propery exists

Expression Language

  • DONE ${...} and #{...} is recognized as expression language in xhtml recognized as facelets in HTML text and JSF tags attribute values.
  • DONE code coloring of the EL tokens + green background
  • DONE code completion for default objects + managed beans (doesn't use dd-annotations model yet)
  • DONE EL delimiter autocompletion - typing ${ will add } automatically, move the caret into the expression and open completion
  • autocomplete && popup completion for EL when completing attributes which usually contains EL like <h:outputText value="#{employee.address}"/>
  • DONE completion of array notation - offer completion inside the [[ | ]] brackets - the same CC as w/o any prefix
  • DONE completion of array notation ${MyMBean[[["property" | ["property"]].} now we support only dot notation (MyMBean.property.| + cc)
  • DONE completion for List and array foo[[["bar" | ["bar"]]. + CC offers completion of the collection or array type type (if present). The same should work for the dot notation - crazy! :-(
  • DONE completion for faces implicit object, now we have only the JSP ones. At least facesContext should be available
  • DONE method completion for beans in deferred execution #{}
  • DONE hyperlining for beans, properties and methods
  • Code completion for composite components #{cc. }. Offers attributes defined inside interface section of a composite component.

Semantic completion

For some JSF/Facelets component offer completion items for their attribute values - this support needs to be proprietary per library, at least partially

  • <h:commandButton action attribute completion - action controller method of the associated bean
  • <ui:composition template="xxx" /> completion - XXX can offer all templates in the webmodule, at least file completion would be nice
  • ... TBD
  • <ui:define name="xxx"> (nested in ui:composition) completion - offers all logical areas from the template
  • bundle completion when declared by <f:loadBundle var="msg" basename="com.sun.firstcup.web.WebMessages"> ... <h:outputText value="#{msg[[ | ]]}"/>
  • Code completion for action and value change listeners in XHTML files

Refactoring - find usages

  • rename/move/delete and find usages of managed beans
  • rename/move/delete ref. for facelets templates / included pages
  • find usages of facelet templates


  • WON'T BE DONE component palette - we may want to provide palette for some of the know jsf libraries - at least to move the jsf core component palette items form the existing web.facelets module.
  • drag a composite component page into a palette?
  • autoimport of new composite component into the palette?
  • DONE Palette Items available in code completion


  • disable the structure html checks for xhtml files containing JSF/facelets components - or at least disable the part which check the structure. Tags pairing can be still checked.
  • Facelets support in JSPX documents? - There is a need to investigate how this works in icefaces, if the .jspx is just a different extenstion for .xhtml being processed by jsp engine, or the pages also contains some JSPX content - jsp tags scriptlets etc.
  • DONE migrate JSF completion/refactoring/hyperlinking to the merged dd-annotation model


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