Ho un modulo nel < ui: inserire nome = "contenuto"/> Quando salvi i dati con ap: comandoButton posso aggiornare il modulo e le cose all'interno del < ui: inserire nome = "contenuto"/>. Ma io sto avendo difficoltà a capire come aggiornare i componenti nel < ui: includere src = "/ sezioni/menu/topMenu.xhtml"/>Componente di aggiornamento JSF 2 al di fuori del modulo e all'esterno di Facelet
All'interno del topmenu ho una visualizzazione secondaria per un pannello con i link che vengono rese a seconda che una persona abbia effettuato l'accesso o meno. quando sono loggati, mostro il loro nome utente. Se aggiorno il nome utente nella parte del contenuto del modello, voglio aggiornare l'interfaccia utente in modo che anche il nome nel menu si aggiorni senza un aggiornamento della pagina. Ma questo è un ripiego che posso usare anche io. Aggiorna la pagina dopo l'aggiornamento. Ma preferirei di no. Pubblicherò altro codice se vuoi, ma cercherò di mantenerlo al minimo per iniziare.
<h:body>
<div id="wrap">
<div title="Container">
<ui:include src="/sections/base/header.xhtml"/>
</div><!-- End of Banner -->
<div id="baseTemplateTopMenu" title="Menu">
<ui:include src="/sections/menus/topMenu.xhtml"/>
</div><!-- End of Menu -->
<div id="sbt_contentbody">
<div title="Left Column">
<ui:include src="/sections/base/leftsidebar.xhtml"/>
</div> <!-- End of Left Column -->
<div title="Content Column">
<ui:insert name="content" />
</div><!-- End of Centre Column -->
<div title="Right Column">
<ui:include src="/sections/base/rightsidebar.xhtml"/>
</div><!-- End of Right Column -->
</div>
<div id="footer" title="Footer" class ="container">
<ui:include src="/sections/base/footer.xhtml"/>
</div><!-- End of Footer -->
</div><!-- End of Container -->
</h:body>
riportano di seguito le p: commandButton che salva le informazioni dell'utente
<p:commandButton id="id_SubmitUserInfoPrefs"
value="Update"
action="#{userPreferences.updateUserInfo()}" styleClass="bottom_margin_2em top_margin_2em">
<f:ajax execute="@form" render="@form :topMenuLoginView:topMenuLoginForm" />
<!-- tried adding 'update=":"topMenuLoginView:topMenuLoginForm"' as well. -->
Di seguito si riporta nella parte del menu del modello.
<f:subview id="topMenuLoginView">
<h:form id="topMenuLoginForm" prependId="false">
<ul>
<h:panelGroup id="loginPanel" rendered="#{!user.loggedIn}">
<li><h:outputLink value="javascript:void(0)" onclick="topMenuLoginDialog.show()"
title="login" styleClass="loginpanelclass">Log In</h:outputLink></li>
<li><h:link value="Register" outcome="/registration/register.xhtml" /></li>
</h:panelGroup>
<h:panelGroup id="logoutPanel" rendered="#{user.loggedIn}">
<li><h:link value="#{user.nickname}" outcome="#{navigationprops.userprefs}" /> </li>
<li><p:commandLink action="#{webAuthenticationBean.logout}"
update=":topMenuLoginView:topMenuLoginForm">
Logout
</p:commandLink>
</li>
</h:panelGroup>
</ul>
</h:form>
</f:subview>
come su 'render =" forma @: topMenuLoginForm "' e basta rimuovere '' da quella pagina? –
Daniel
Ci proveremo un po 'più tardi. Ho bisogno di muovermi e ho appena scelto di aggiornare la pagina al completamento. Riformerò più tardi questa settimana. – BillR