jsf - How can make commandButton change the url src in ui:include with ajax -
i build template jsf. template has div contain other jsf file ///////////////////////
<h:panelgroup id="maincenterbox" styleclass="maincenterbox" layout="block"> <ui:include id="centerview" src="messageboardview.xhtml"/> </h:panelgroup>
\\\\\\\\\\\\
how can change src in ui:include view other page when cleck commandbutton ajax
hi thank vasil lukach replay wont know how can send parameter form commandbutton bean , below code
\\\\\\\\\\\\\ bean file import javax.enterprise.context.requestscoped; import javax.inject.named; @named("urls") @requestscoped public class urlpagesbean { private string urlsrc = ""; public string geturlsrc() { return urlsrc; } public void seturlsrc(string urlsrc) { this.urlsrc = urlsrc; } public string geturl() { string url = ""; if(urlsrc == "page1" || urlsrc == "" || urlsrc == null) { url = "page1.xhtml"; } else if (urlsrc == "page2") { url = "page2.xhtml"; } return url; } } ///////////// \\\\\\\\\\\\\\\\\\\\\\ index file <h:body > <h:panelgroup layout="block" styleclass="maincontentbox"> <h:panelgroup layout="block" styleclass="maintopbox"> <h:panelgroup layout="block" styleclass="logobox"></h:panelgroup> </h:panelgroup> <h:form id="submenuform"> <h:panelgroup layout="block" styleclass="mainliftbox"> <h:panelgroup id="msgboard" layout="block" styleclass="mainmenubuttons">message board <h:panelgroup layout="block" styleclass="submenubox"> <h:commandbutton id="showmsgboard" styleclass="submenubuttoncommand" value="page1"/> </h:panelgroup> </h:panelgroup> <h:panelgroup layout="block" styleclass="mainmenubuttons">registrations book <h:panelgroup layout="block" styleclass="submenubox"> <h:commandbutton id="registrinternalapprov" styleclass="submenubuttoncommand" value="page2"> <f:ajax render="maincenterbox" /> </h:commandbutton> </h:panelgroup> </h:panelgroup> </h:panelgroup> <h:panelgroup id="maincenterbox" styleclass="maincenterbox" layout="block"> <ui:include id="centerview" src="#{urls.url}"/> </h:panelgroup> </h:form> </h:panelgroup> </h:body>
in template can use ui:insert
, example
<ui:insert name="footer"> <ui:include src="/web-inf/template/footer.xhtml" /> </ui:insert>
in view can redefine it: <ui:define name="footer"></ui:define>
(no footer) or include other file.
if need support ajax, can use ui:fragment
. has rendered
attribute can used displaying content (you can have more 1 fragment).
Comments
Post a Comment