gpt4 book ai didi

java - 使用带有 PrimeFaces 的 JSF 单击菜单后 CSS 丢失

转载 作者:搜寻专家 更新时间:2023-11-01 03:09:39 25 4
gpt4 key购买 nike

当我点击 p:menuitem 并更新 layoutunit 的内容时,我丢失了 layoutunit CSS 样式。但是,如果我刷新,样式会重新出现。这是为什么?

<p:layout id="plantillaPrincipal" fullPage="true" >
<p:layoutUnit id="cabe" position="north">


<h:form id="bmenu">

<p:menubar>

<p:menuitem id="inicio" value="INICIO" actionListener="#{controlMenu.mostrarOpcion()}" update=":container">
<f:setPropertyActionListener value="inicio" target="#{controlMenu.opcion}"/>
</p:menuitem>
<p:menuitem id="tarifas" value="TARIFAS" actionListener="#{controlMenu.mostrarOpcion()}" update=":container">
<f:setPropertyActionListener value="tarifas" target="#{controlMenu.opcion}"/>
</p:menuitem>
<p:menuitem id="tasas" value="TASAS" actionListener="#{controlMenu.mostrarOpcion()}" update=":container">
<f:setPropertyActionListener value="tasas" target="#{controlMenu.opcion}"/>
</p:menuitem>
<p:menuitem id="dudas" value="DUDAS" actionListener="#{controlMenu.mostrarOpcion()}" update=":container">
<f:setPropertyActionListener value="dudas" target="#{controlMenu.opcion}"/>
</p:menuitem>
<p:menuitem id="consultas" value="CONSULTAS" actionListener="#{controlMenu.mostrarOpcion()}" update=":container">
<f:setPropertyActionListener value="consultas" target="#{controlMenu.opcion}"/>
</p:menuitem>
</p:menubar>
</h:form>
</p:layoutUnit>

<p:layoutUnit id="container" position="center">
<h:form id="fcont">
<ui:insert name="panelInicio">...</ui:insert>
</h:form>
</p:layoutUnit>

这是要更新的layoutunit的内容

<ui:define name="panelInicio">
<h:form id="inicio" rendered="#{controlMenu.opcion=='inicio'}">
<p:panel id="pinicio">hola desde inicio</p:panel>
</h:form>
<h:form id="tarifas" rendered="#{controlMenu.opcion=='tarifas'}">
<p:panel id="ptarifas">hola desde tarifas</p:panel>
</h:form>
<h:form id="tasas" rendered="#{controlMenu.opcion=='tasas'}">
<p:panel id="ptasas">hola desde tasas</p:panel>
</h:form>
<h:form id="dudas" rendered="#{controlMenu.opcion=='dudas'}">
<p:panel id="pdudas">hola desde dudas</p:panel>
</h:form>
<h:form id="consultas" rendered="#{controlMenu.opcion=='consultas'}">
<p:panel id="pconsultas">hola desde consultas</p:panel>
</h:form>
</ui:define>

这是托管bean

@ManagedBean
@ApplicationScoped
public class controlMenu {
public String opcion="";

public String getOpcion() {
return opcion;
}

public void setOpcion(String opcion) {
this.opcion = opcion;
}

public controlMenu(){

}

public void mostrarOpcion(){
System.out.print(opcion);

}

最佳答案

您不能更新 LayoutUnit,它们没有渲染器。在单元内添加一个占位符,如 OutputPanel 并更新它。

关于java - 使用带有 PrimeFaces 的 JSF 单击菜单后 CSS 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13402795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com