Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A portlet bridge adapts a framework such as JavaServer Faces (JSF) to a portal’s portlet environment. It handles framework-to-portal concerns such as lifecycle coordination, view state, and URL generation, so developers can build a JSF portlet without managing every portlet API detail themselves. The practical catch is that a working deployment depends on coordinated portal, portlet, and JSF configuration—and the JBoss Portlet Bridge versions described in the DZone refcard are historical, not current support recommendations.

What does a portlet bridge do?

A portal controls the page around its portlets; each portlet supplies a fragment of content within that page. A portlet bridge mediates between a framework’s expectations and the portal’s portlet environment. In a JSF application, that includes translating framework behavior for portal URLs, the action/render lifecycle, view state, and resource requests.

The DZone Refcard #132, “Mastering Portals with a Portlet Bridge,” by Wesley Hales, presents the JBoss Portlet Bridge as a way to run JSF and related frameworks in a portal without requiring the application developer to handle every underlying portlet API concern directly. A bridge does not replace the portal or turn a portlet into a standalone web page; it connects the framework to the container that manages the portlet.

What is the difference between a portlet and a servlet?

A servlet is generally invoked as a web component through a URL and can produce a complete response document. A portlet is managed by a portlet container and contributes a fragment to a page assembled by the portal. The portal controls the outer page, portlet modes, and when portlets are asked to render. As a result, a portlet cannot be treated as though it owns a standalone page URL or the entire request/response cycle.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The key programming difference is the portlet lifecycle. A user interaction can trigger an action phase, followed by a render phase. After the action finishes, the portal may ask every portlet on that page to render again, not only the one that received the interaction. A framework bridge helps adapt framework processing to this portal-managed sequence.

How do I run JSF in a portal?

Think of setup as a coordinated configuration across the portlet deployment descriptor, JSF configuration, and web application descriptor. The DZone refcard describes a `javax.portlet.faces.GenericFacesPortlet` entry, JSF bridge handlers, and optional web.xml settings. The exact application and view identifiers depend on the application; the items below identify the responsibilities, not a complete copy-and-paste deployment.

1. Generate or prepare the portlet application

The refcard gives this Maven archetype invocation as its getting-started example:

Rank #2
Sale
JavaServer Faces 2.0, The Complete Reference
  • New
  • Mint Condition
  • Dispatch same day for order received before 12 noon
  • Guaranteed packaging
  • No quibbles returns
mvn archetype:generate
-DarchetypeCatalog=http://bit.ly/jbossportletbridge

This is a historical instruction from the refcard, not confirmation that the catalog or generated project remains available or compatible with a current Java stack.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Declare the JSF portlet in portlet.xml

In `portlet.xml`, declare `javax.portlet.faces.GenericFacesPortlet` and configure the default view IDs for the portlet’s view, edit, and help modes. Those mode-specific defaults tell the bridge which JSF view to use when the portal displays the portlet in each mode.

3. Install bridge handlers in faces-config.xml

The refcard identifies `org.jboss.portletbridge.application.PortletViewHandler` and `PortletStateManager` as the bridge components to configure in `faces-config.xml`. They connect JSF view handling and state management to portlet behavior.

4. Set web.xml options only when needed

The refcard describes selecting `FaceletPortletViewHandler` and a render policy in `web.xml`. It also identifies the context parameter `javax.portlet.faces.preserveActionParams=true` for cases where action-request parameters need to remain available during rendering. Whether to enable it depends on the application’s parameter-handling needs.

What goes in portlet.xml and faces-config.xml?

The descriptors serve different parts of the integration. `portlet.xml` declares the portlet and its portal-facing defaults; `faces-config.xml` installs JSF-side bridge behavior. `web.xml` can provide additional web-application and bridge settings. The division matters: configuring only the JSF application does not declare the portlet to the portal, and declaring a portlet alone does not install JSF bridge handling.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
File Role in the refcard’s setup Named items
portlet.xml Declares the JSF portlet and its default views by mode javax.portlet.faces.GenericFacesPortlet; view, edit, and help view IDs
faces-config.xml Configures JSF bridge handling org.jboss.portletbridge.application.PortletViewHandler; PortletStateManager
web.xml Holds optional web application and bridge settings FaceletPortletViewHandler; a render policy; optionally javax.portlet.faces.preserveActionParams=true

How do portlets communicate?

For Portlet 2.0 (JSR-286), the refcard describes events and public render parameters as mechanisms for coordination between portlets. They let a portal page coordinate components without requiring every portlet to be implemented as one tightly coupled application.

Events

An event lets one portlet signal information that another portlet can handle. The refcard’s bridge configuration uses `autoDispatchEvents` and a `BridgeEventHandler` for event support. This is the option to consider when one component’s action should prompt another component to respond.

Public render parameters

A public render parameter exposes a shared parameter across portlets. The refcard illustrates mapping a parameter such as `hotelName` into a JSF managed bean through bridge metadata. This can coordinate displayed state across JSF and non-JSF portlets; the portlets still need compatible parameter names and handling.

What about resources, modes, and other bridge behavior?

Portlets need portal-aware resource URLs rather than assuming a resource can be referenced like it would be on a standalone page. The refcard’s resource-serving example obtains a JSF resource URL and encodes it through the portal response. It also discusses RichFaces settings for script and stylesheet loading and namespacing when multiple components share a portal page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Other operational topics covered include excluded bridge request-scope attributes, changing portlet modes, restoring the last view for a mode, clearing mode history, exception handling, session scopes, and external redirects. These are application concerns to check when adopting or maintaining a bridge deployment; their exact configuration depends on the bridge and portal version.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Which JBoss Portlet Bridge versions does the refcard describe?

The compatibility combinations below are the historical combinations listed in the DZone refcard. They are not a statement of present-day maintenance, security support, or compatibility with current JSF, RichFaces, Seam, Java, or portal releases.

Bridge version listed Portlet standard Framework combination listed
2.1.0.FINAL JSR-286 JSF 1.2; RichFaces 3.3.3.FINAL; Seam 2.2.1.CR2
3.0.0.ALPHA JSR-286 JSF 2.0; RichFaces 4.0

The refcard characterizes the bridge as a non-final draft implementation of JSR-329 and describes support for JSF 1.2 and 2.0 in JSR-168 or JSR-286 portlets, with added Seam and RichFaces support. Its version table is a snapshot from that period, not a current compatibility matrix. Before changing or deploying a legacy system, verify the exact bridge artifact, portal container, framework versions, and support status against the software actually in use.

When should you evaluate a different portal integration?

If maintaining a legacy JSF portlet, first establish which portal container and bridge artifacts the application uses, then verify that their versions can work together. For a platform comparison, Oracle’s WebCenter documentation describes an Oracle JSF Portlet Bridge supporting JSR-329 and integration with WSRP portlet consumers. That documentation is a platform-specific comparison point, not evidence that an Oracle bridge is a drop-in replacement for JBoss Portlet Bridge.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

SaleBestseller No. 2
JavaServer Faces 2.0, The Complete Reference
JavaServer Faces 2.0, The Complete Reference
New; Mint Condition; Dispatch same day for order received before 12 noon; Guaranteed packaging
$43.87
SaleBestseller No. 3
SaleBestseller No. 5

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.