Soy bastante nuevo en JSF y PrimeFaces y tengo un par de problemas al desarrollar un diseño de página completa con menús múltiples.Actualización de página dinámica en el diseño de primas anidadas
NÚMERO # 1
Tenemos un diseño de página completa usando PrimeFaces 3.3 con unidades de disposición anidada en el lado izquierdo de la siguiente manera:
<p:layoutUnit id="west" position="west" header="Services" resizable="true" closable="true" collapsible="true" effect="drop">
<p:layout>
<p:layoutUnit id="inner_center" position="center">
<h:form id="formMainMenu">
<ui:include src="#{menuBean.pageToDisplay}.xhtml" />
</h:form>
</p:layoutUnit>
<p:layoutUnit id="inner_south" size="200" position="south">
<h:form id="formStartMenu">
<p:menu>
<p:submenu label="Start Menu">
<p:menuitem value="Start" actionListener="#{#menuBean.setPageToDisplay('template/menu/start')}" update=":inner_center" />
</p:submenu>
</p:menu>
</h:form>
</p:layoutUnit>
</p:layout>
</p:layoutUnit>
Aquí es el bean de respaldo:
@ManagedBean(name = "menuBean")
@SessionScoped
public class menuBean implements Serializable {
private String pageToDisplay = "template/menu/main";
public String getPageToDisplay() {
return this.pageToDisplay;
}
public void setPageToDisplay(String pageToDisplay) {
this.pageToDisplay = pageToDisplay;
} }
Cuando hago clic en el elemento del menú, toda la LayoutUnit (inner_c enter) desaparece. He intentado numerosas combinaciones de formularios y controles de panel junto con Ajax y no puedo cargar la segunda página y el menú. Tal vez mi enfoque es incorrecto debido a mi conocimiento limitado en JSF. Espero que sea algo simple y me lo estoy perdiendo.
Desde una acción de menúArtículo, quiero cargar otro bean de menú PrimeFaces en la unidad de diseño de inner_center .. ¿Tal vez no necesito hacer esto y simplemente llamar al menú a través de Ajax?
NÚMERO # 2 Con estas unidades de diseño anidado, cuando la página se carga, el encabezado LayoutUnit principal "Servicios" desaparece por completo.
<p:layoutUnit id="west" position="west" header="Services" resizable="true" closable="true" collapsible="true" effect="drop">
Cualquier ayuda o consejo sobre el enfoque general es muy apreciada!
Gracias!
Alguna información del entorno: Mojara 2.1, Primefaces 3.3, NetBeans IDE 7.0.1 + Glassfish –
No puedo asegurarlo, pero este problema puede ocurrir si las páginas insertadas tienen un componente de formulario. Las formas anidadas causarán problemas. –
Gracias. Está en lo correcto ... se recomienda que los formularios se coloquen dentro de los controles de layoutUnit, lo que hice ... también asegurándome de que no haya etiquetas de formulario en las páginas cargadas. Voy a intentar de nuevo usando '' y PanelGroup. Tal vez una referencia está apagada. IDEALLY, me gustaría omitir la carga de una página y colocar un menú directamente en la layoutUnit y poblarla dinámicamente pasando un valor. ' ' ..no estoy seguro de la mejor manera. –