jsf 2 - Primefaces change view since a Bean -


i know how can change view since bean, , code:

principal.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"   xmlns:h="http://java.sun.com/jsf/html"   xmlns:f="http://java.sun.com/jsf/core"   xmlns:ui="http://java.sun.com/jsf/facelets"   xmlns:p="http://primefaces.org/ui">      <h:head>         <link rel="shortcut icon" type="image/x-icon" href="/resources/images/logoconsorcio.ico"/>         <f:facet name="first">             <h:outputstylesheet name="css/default.css"/>             <h:outputscript name="scripts/scripts.js" />             <title>consorcio jm</title>         </f:facet>     </h:head>     <h:body>         <p:layout fullpage="true">             <ui:include src="/pages/main/session_time_out.xhtml"/>             <!-- header panel-->             <p:layoutunit position="north" size="40" resizable="true" closable="true"                            collapsible="true" collapsesize="20">                 <ui:include src="/pages/main/header.xhtml" />             </p:layoutunit>             <!-- tree panel-->             <p:layoutunit position="west" size="205"  collapsible="true" header="menu">                 <ui:include src="/pages/main/page_menu.xhtml" />             </p:layoutunit>             <!-- content panel-->             <p:layoutunit id="idcenterlayout" position="center" >                 <p:outputpanel id="idcentropagina">                     <ui:include src="#{menubean.paginacentral}"/>                 </p:outputpanel>             </p:layoutunit>         </p:layout>     </h:body> 

in #{menubean.paginacentral} put path of view /pages/logistica/movimientos/orden_ingreso/orden_ingreso.xhtml

orden_ingreso.xhtml

<ui:composition   xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" >  <h:form id="idformordeningreso" onkeypress="if (event.keycode == 13) { return false; }">     <p:growl id="idgrowloi" showdetail="true" life="2500" for="keyordeningreso" globalonly="true"/>     <p:panel header="orden de ingreso" styleclass="texto-panel"/>     <ui:include src="/pages/logistica/movimientos/orden_ingreso/toolbar_orden_ingreso.xhtml"/>     <ui:include src="#{ordeningresobean.pathbodyordeningreso}"/> </h:form> </ui:composition>  

ordeningresobean.java

@managedbean(name = "ordeningresobean") @sessionscoped public class ordeningresobean implements serializable { private static final long serialversionuid = 1l; private final string strbusiness = "ordeningresobo"; private string pathbodyordeningreso; private ordeningresobo ordeningresobo; private ordeningresoutil oiu; private ordeningresodto oivista; private final httpservletrequest httpservletrequest; private final facescontext facescontext; private final empresa empresa; private final usuariolo usuario;   public ordeningresobean () {     facescontext = facescontext.getcurrentinstance();     httpservletrequest = (httpservletrequest)facescontext.getexternalcontext().getrequest();     empresa = (empresa)httpservletrequest.getsession().getattribute("empresasession");     usuario = (usuariolo)httpservletrequest.getsession().getattribute("usuario");     initbusiness();     oiu = new ordeningresoutil();     oiu.setvista("lista");     oivista = new ordeningresodto();     pathbodyordeningreso = "/pages/logistica/movimientos/orden_ingreso/lista_orden_ingreso.xhtml"; }  private void initbusiness() {     servletcontext servletcontext = (servletcontext)facescontext.getexternalcontext().getcontext();     applicationcontext ctx = webapplicationcontextutils.getwebapplicationcontext(servletcontext);     ordeningresobo = (ordeningresobo)ctx.getbean(strbusiness); }  ...  public void actualizarvista() {     if(oiu.getidemisorcomprobante().intvalue() < 0){         proveedorbean proveedorbean = new proveedorbean();         proveedorbean.limpiarproveedorvista();         proveedorbean.setpathbodyproveedor("/pages/logistica/proveedor/crear_proveedor.xhtml");         requestcontext.getcurrentinstance().update(":idcentropagina");     } } 

in "actualizarvista" want change other view, /pages/logistica/proveedor/crear_proveedor.xhtml of bean, have update component "idcentropagina" in principal.xhtml. works requestcontext.getcurrentinstance().update(":idcentropagina"), doesn't work.

remove leading colon. leading colon usable when inside naming container. change

requestcontext.getcurrentinstance().update(":idcentropagina") 

into

requestcontext.getcurrentinstance().update("idcentropagina") 

Comments