    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:a4j="http://richfaces.org/a4j"
    	xmlns:rich="http://richfaces.ajax4jsf.org/rich">
    	<ui:composition template="/templates/component-sample.xhtml">
    		<ui:define name="sample">

    			<p>a4j:loadBundle allows to use reference to bundle messages during the Ajax re-rendering.
    			a4j:loadBundle is a substitute for the f:loadBundle in JSF 1.1 which is not a JSF component originally.
    			f:loadBundle is a jsp tag that load the bundle messages into the request scope when page is
    			rendered. As soon as each Ajax request works in own request scope, the bundles loaded with
    			f:loadBundle are unavailable.
    			</p>
    			<p>Instead of f:loadBundle that might be located anywhere on the page, the a4j:loadBundle
    			should be declared inside the f:view (this does not matter in case on using Facelets)
    			</p>

    			<p>JSF 1.2 introduces the bundle registered in the faces-config.xml. This fixed the problem
    			 with f:loadBundle. Therefore, you can use this JSF 1.2 way to declare your bundles.
    			</p>

    		</ui:define>
    		<ui:define name="sources">
    			<h:panelGroup />
    		</ui:define>
    	</ui:composition>
    </html>