Navigation and Global messages lost when ue:include added to seam-gen ..Edit.xhtml
rogermorituesta.rogermori.yahoo.com Jun 19, 2009 7:17 PMDear community members: .
I’m creating a facelets include button-bar. to replace the buttons Save, Delete and Cancel within all the edit views (someEntityEdit.xhtml) generated by seam-gen .
This composition works but the global messages (Successfully updated, etc) are lost (see log error below) .
To make it work, I changed the navigation rules .
It is critical for my project to have this kind of compositions, and appreciate any ideas.
Thank you.
These are the details.
Error log
...WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. sourceId=null[severity=(INFO 0), summary=(Successfully updated), detail=(Successfully updated)]
Edit view
<ui:include src="/inc/bar/EditBar.xhtml" > <ui:param name="ENTITY_HOME" value="#{generalTypeHome}" /> <ui:param name="CALLED_FROM_VIEW" value="/#{empty generalTypeFrom ? 'GeneralTypeList' : generalTypeFrom}.xhtml" /> </ui:include>
Include Composition
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:a="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" > <rich:panel> <div class="actionButtons"> <h:commandButton id="save" value="#{messages['label.save']}" action="#{ENTITY_HOME.persist}" disabled="#{!ENTITY_HOME.wired}" style="#{BUTTON_STYLE}" rendered="#{!ENTITY_HOME.managed}"/> <rich:spacer width="15" rendered="#{!ENTITY_HOME.managed}" /> <h:commandButton id="update" value="#{messages['label.save']}" style="#{BUTTON_STYLE}" action="#{ENTITY_HOME.update}" rendered="#{ENTITY_HOME.managed}"/> <rich:spacer width="15" rendered="#{ENTITY_HOME.managed}"/> <h:commandButton id="delete" value="#{messages['label.delete']}" style="#{BUTTON_STYLE}" action="#{ENTITY_HOME.remove}" immediate="true" rendered="#{ENTITY_HOME.managed}"/> <rich:spacer width="15" rendered="#{ENTITY_HOME.managed}"/> <s:button id="cancelEdit" value="#{messages['label.cancel']}" style="#{BUTTON_STYLE}" propagation="end" view="/GeneralType.xhtml" rendered="#{ENTITY_HOME.managed}"/> <rich:spacer width="15" rendered="#{ENTITY_HOME.managed}"/> <s:button id="cancelAdd" value="#{messages['label.cancel']}" style="#{BUTTON_STYLE}" propagation="end" view="#{CALLED_FROM_VIEW}" rendered="#{!ENTITY_HOME.managed}"/> </div> </rich:panel> </ui:composition>
Changed navigation rules on page xml descriptor
<?xml version="1.0" encoding="UTF-8"?> <page xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd" no-conversation-view-id="/GeneralTypeList.xhtml" login-required="true"> <begin-conversation join="true" flush-mode="MANUAL"/> <action execute="#{generalTypeHome.wire}" on-postback="false"/> <param name="generalTypeFrom"/> <param name="generalTypeId" value="#{generalTypeHome.generalTypeId}"/> <navigation from-action="#{ENTITY_HOME.persist}"> <rule if-outcome="persisted"> <end-conversation/> <redirect view-id="/GeneralType.xhtml"/> </rule> </navigation> <navigation from-action="#{ENTITY_HOME.update}"> <rule if-outcome="updated"> <end-conversation/> <redirect view-id="/GeneralType.xhtml"/> </rule> </navigation> <navigation from-action="#{ENTITY_HOME.remove}"> <rule if-outcome="removed"> <end-conversation/> <redirect view-id="/GeneralTypeList.xhtml"/> </rule> </navigation> </page>
Thank you.