Eu tenho uma aplicação com um rich:panelMenu.
Ao lado deste menu eu tenho um panelGroup. Esse panelGroup é responsavel por carregar o conteúdo do site.
Então se eu clicar em algum link do panelMenu ele terá que mudar o conteudo do panelGroup.
eu uso o jsf 2 + primefaces, criaria mais ou menos assim, no click do panelMenu usaria uma opção para atualização do panelGroup e dentro dele haveriam os outros componente com rendered, ou seja , usaria o ajax para atualizar o painel e rendenizar somente as partes solicitadas com um beans controller, acho que me enrrolei um pouco mais é basicamente isso, já posto um exemplo.
Edit:
<p:menubarautoSubmenuDisplay="true"effectDuration="0"><p:submenulabel="Compras"icon="ui-icon ui-icon-cart"><p:menuitemvalue="Solicitação de Compra"icon="ui-icon ui-icon-wrench"update="painel"action="#{beanController.setView}"/><p:menuitemvalue="Autrização de Compra"icon="ui-icon ui-icon-wrench"update="painel"action="#{beanController.setView}"/></p:submenu></p:menubar><h:panelGroupid="painel"><h:inputTextrendered="#{beanController.view}"/><h:inputTextrendered="#{!beanController.view}"/></h:panelGroup>
P/s Usei o prime nesse exemplo, se não me engano no rich vc usaria reRender ao invés do update