javax.faces.ViewState已在ajax渲染中删除。CommandLink正在进行第二次单击
我知道jsf表单中的ajax呈现存在问题,因此我编写了如下代码来避免问题:javax.faces.ViewState已在ajax渲染中删除。CommandLink正在进行第二次单击,java,ajax,jsf,Java,Ajax,Jsf,我知道jsf表单中的ajax呈现存在问题,因此我编写了如下代码来避免问题: <h:panelGroup id="solicitudesPendientes" layout="block" styleClass="seccion"> <h:panelGroup rendered="#{!gestionSociosControlador.haySolicitudesPendientes()}"> No hay solic
<h:panelGroup id="solicitudesPendientes" layout="block" styleClass="seccion">
<h:panelGroup rendered="#{!gestionSociosControlador.haySolicitudesPendientes()}">
No hay solicitudes pendientes de revisión
</h:panelGroup>
<h:form id="gestionSolicitudesPendientesForm" prependId="false">
<h:dataTable id="solicitudesPendientesTbl" styleClass="dataTable" rendered="#{gestionSociosControlador.haySolicitudesPendientes()}"
value="#{gestionSociosControlador.getSolicitudesPendientes()}" var="solicitud">
<h:column>
#{solicitud.solicitante.nombre} #{solicitud.solicitante.apellidos}
</h:column>
<h:column>
<span class="imgLnkInline">
<h:commandLink id="botonAceptarSolicitudPertenenciaClub"
action="#{gestionSociosControlador.aceptarSolicitud(solicitud.id)}">
<h:graphicImage url="/resources/images/silkIcons/accept.png" /> Aceptar
<f:ajax execute="@this" render="@form :gestionSocios :gestionSociosForm" />
</h:commandLink>
</span>
<span class="imgLnkInline">
<h:commandLink id="botonRechazarSolicitudPertenenciaClub"
action="#{gestionSociosControlador.rechazarSolicitud(solicitud.id)}">
<h:graphicImage url="/resources/images/silkIcons/delete.png" /> Rechazar
<f:ajax execute="@this" render="@form :solicitudesPendientes" />
</h:commandLink>
</span>
<span class="imgLnkInline">
<h:commandLink id="botonAplazarSolicitudPertenenciaClub"
action="#{gestionSociosControlador.aplazarSolicitud(solicitud.id)}">
<h:graphicImage url="/resources/images/silkIcons/date_next.png" /> Decidir mas tarde
<f:ajax execute="@this" render="@form :solicitudesPendientes :gestionSolicitudesAplazadasForm" />
</h:commandLink>
</span>
</h:column>
</h:dataTable>
<h:messages id="gestionSolicitudesPendientesMsgs" for="gestionSolicitudesPendientesForm" layout="table"
errorClass="errorMessage" infoClass="infoMessage" warnClass="warnMessage" />
</h:form>
<h:panelGroup rendered="#{gestionSociosControlador.haySolicitudesAplazadas()}">
<span id="mostrarSolicitudesAplazadasLnk" class="imgLnkInline" onclick="mostrarSolicitudesAplazadas()" style="cursor:pointer">
<h:graphicImage url="/resources/images/silkIcons/bullet_toggle_plus.png" /> Ver #{gestionSociosControlador.getSolicitudesAplazadas().size()} solicitudes ocultas
</span>
<h:form id="gestionSolicitudesAplazadasForm" prependId="false">
<h:dataTable id="solicitudesAplazadasTbl" styleClass="dataTable" style="display:none"
value="#{gestionSociosControlador.getSolicitudesAplazadas()}" var="solicitud">
<h:column>
#{solicitud.solicitante.nombre} #{solicitud.solicitante.apellidos}
</h:column>
<h:column>
<span class="imgLnkInline">
<h:commandLink id="botonAceptarSolicitudPertenenciaClubAplazada"
action="#{gestionSociosControlador.aceptarSolicitud(solicitud.id)}">
<h:graphicImage url="/resources/images/silkIcons/accept.png" /> Aceptar
<f:ajax execute="@this" render="@form :gestionSocios :gestionSociosForm :solicitudesPendientes :gestionSolicitudesAplazadasForm" />
</h:commandLink>
</span>
<span class="imgLnkInline">
<h:commandLink id="botonRechazarSolicitudPertenenciaClubAplazada"
action="#{gestionSociosControlador.rechazarSolicitud(solicitud.id)}">
<h:graphicImage url="/resources/images/silkIcons/delete.png" /> Rechazar
<f:ajax execute="@this" render="@form :solicitudesPendientes :gestionSolicitudesAplazadasForm" />
</h:commandLink>
</span>
</h:column>
</h:dataTable>
<h:messages id="gestionSolicitudesAplazadasMsgs" for="gestionSolicitudesAplazadasForm" layout="table"
errorClass="errorMessage" infoClass="infoMessage" warnClass="warnMessage" />
</h:form>
<span id="ocultarSolicitudesAplazadasLnk" class="imgLnkInline" onclick="ocultarSolicitudesAplazadas()" style="display:none">
<h:graphicImage url="/resources/images/silkIcons/bullet_toggle_minus.png" /> Ocultar solicitudes aplazadas
</span>
</h:panelGroup>
</h:panelGroup>
<div class="tituloSeccion"><h3>Miembros</h3></div>
<h:panelGroup id="gestionSocios" layout="block" styleClass="seccion">
<h:panelGroup rendered="#{!gestionSociosControlador.haySocios()}">
El club no tiene socios.
</h:panelGroup>
<h:form id="gestionSociosForm" prependId="false">
<h:dataTable id="sociosTbl" styleClass="dataTable" rendered="#{gestionSociosControlador.haySocios()}"
value="#{gestionSociosControlador.getSocios()}" var="socio">
<h:column>
#{socio.nombre} #{socio.apellidos}
</h:column>
<h:column>
<span class="imgLnkInline">
<h:commandLink id="botonExpulsarSocio" action="#{gestionSociosControlador.expulsarSocio(socio.id)}">
<h:graphicImage url="/resources/images/silkIcons/user_delete.png" /> Expulsar
<f:ajax execute="@this" render="@form :gestionSocios" />
</h:commandLink>
</span>
</h:column>
</h:dataTable>
<h:messages id="gestionSociosMsgs" for="gestionSociosForm" layout="table"
errorClass="errorMessage" infoClass="infoMessage" warnClass="warnMessage" />
</h:form>
</h:panelGroup>
无需对审查和审查提出任何要求;N
#{征求意见书.征求意见书.名称}{征求意见书.征求意见书.阿佩利多斯}
接受器
里查扎
德西迪马斯塔德酒店
Ver#{gestionSociosControlador.GetClaugudeSaplazadas().size()}Claugudes ocultas
#{征求意见书.征求意见书.名称}{征求意见书.征求意见书.阿佩利多斯}
接受器
里查扎
aplazadas眼科律师事务所
米姆布罗斯
El club no tiene socios。
#{social.nombre}{social.apellidos}
驱逐
除了一个命令外,命令链接之间的所有单击命令战斗都可以正常工作。如果我首先单击id=“BotonaplazarClarcudPertenenciaClub”的CommandLink,然后单击id=“BotonaceptarClarcudPertenenciaClubPalazada”的CommandLink(到目前为止它是有效的),最后单击id=“botonExpulsarSocio”的CommandLink,最后一个操作只在第二次单击时起作用,我注意到javax.faces.ViewState没有呈现(这是在加载页面时)
奇怪的是,当我单击id为“BotonAcceptarRequestudPertenenciaClub”的CommandLink,然后单击id为“botonExpulsarSocio”的CommandLink时,它会正常工作
我不确定这里发生了什么,因为我认为我编写代码是为了避免这个特定的错误。非常感谢您的回答,可能是重复的,它成功了,您真的是一位大师:)但我还有一个问题。。。为什么除了有问题的组合之外,它可以处理所有组合?有时候我不能理解这些事情。。。