6

The Workspace List

The workspace list allows the user to switch between multiple conversations from the same browser tab. There is no Java code to write, just the following JSF code to include:

<h:dataTable value="#{conversationList}" var="entry"> <h:column> <h:commandLink action="#{entry.select}" value="#{entry.description}"/>   <h:outputText value="[current]" rendered="#{entry.current}"/> </h:column> <h:column> <h:outputText value="#{entry.startDatetime}"> <f:convertDateTime type="time" pattern="hh:mm"/> </h:outputText> - <h:outputText value="#{entry.lastDatetime}"> <f:convertDateTime type="time" pattern="hh:mm"/> </h:outputText> </h:column> </h:dataTable>

We do need to specify what text will be displayed by #{entry.description}. We do this by setting the description value for each page in pages.xml.

<pages> <!-- ... --> <page view-id="/hotel.xhtml" conversation-required="true" login-required="true"> <description>View hotel: #{hotel.name}</description> <!-- ... --> </page> <page view-id="/book.xhtml" conversation-required="true" login-required="true"> <description>Book hotel: #{hotel.name}</description> <!-- ... --> </page> <pages>

Note that you don't need the pages.xml file if you don't want the workspace list in your application.