JSF Portlets

Why JSF and Portlets?

Why should I combine JavaServer Faces (JSF) and Portlets? Why did you build up such a website?

If you have questions like these, be assured:

JSF and Portlets are a great team in order to
create modern und powerful websites.

Portlets have been available for some time now. There
are plenty of websites based on the portlet technology.
But programming portlets is sometimes a bit exhausting,
because you have to use "old" JSP- and Servlet programming

On the other hand you have quite powerful webframeworks like
JavaServer Faces. With JSF you have a fantastic base for
creating user interfaces for web applications.

In December 2006 a new JSR was born: JSR-301. The main goal
of this JSR was the combination of JSF and Portlets.
So for the future it will be possible you have both powerful
technologies without feeling any pain during integration.

The main target of this website is to provide tutorials and
knowhow, how you can use this great combination.

JSR-168 and JSR-286

All started with JSR-168 some years ago. This was the first specification for
a portlet standard. Though the JSR-168 was not catching all aspects of portlet programming,
it was still a great success to have a common standard in the industry.
Nowadays, nearly all developers build their portlet application based on this standard.

Because of the lack of some very important features in the specification, a second
version (or an enhancement of JSR-168) was started: JSR-286. This specification is
going to standardize features like eventing, public render parameters or portlet filters.

Now, with the enhanced specification of the portlet development it will be possible
to create powerfull AND standard-based portlet applications.

In my opinition, this is a big step towards the acceptance of Portals and Portlets in
the industry.

JSR-127, JSR-252 and JSR-314

With JSR-127, a new user-interface framework was standardized. The process began in 2001.
The expert group defined the first standard for a framework targeting the user interface
in web applications.

JavaServer Faces, the name of the framework, was very successful from the beginning. A lot
of companies used this standard for building their web user interface.
With JSR-252 a next step of the specification (and reference implementation) was done. The
main new thing was, that JSF 1.2 belongs to Java EE 5. That means, every Java EE 5 compatible
Application Server runs with JSF.

JSR-314 is the next version of JSF. JSF 2.0 is developed at the moment within this
JSR. Hopefully at the end of 2008 we will see the result of the expert group.


Portlets and JavaServer Faces are both great frameworks. Both are based on standards
and both technologies are acknowledged in the industry.

But the combination of JSF and Portlets was not easy in the past. It was hard to create
a mapping of the lifecycles of each framework and also to use all aspects of JSF within
the portlet container.

With JSR-301 (Portlet Bridge Specification for JavaServer Faces), a new JSR started with
the goal to standardize a bridge for using both technologies.

Combining JSF with Portlets - Step 1

In the following pages a simple portlet based on JavaServer Faces
is created. It is shown, how you can integrate JSF and Portlets using
the JSR-301 Portlet Bridge.

This tutorial is the first approach to demonstrate the usage of the
JSR-301 bridge. As the bridge is still "work in progress", changes could
occur in the future :-)

Within the following pages we will build a very simple portlet with some
JSF-pages and components. The example is based on Apache Pluto 1.1.4,
Apache Tomcat 6.0.14, JSF 1.2_05 (Reference Implementation) and JSTL 1.2.