Qualquer um pode explicar esse comportamento Struts 2 AJAX Estranho Atualizar?
Pergunta
Nós temos o seguinte código (listados abaixo) em nossa JSP. Estamos vendo a ação configurada na href
do ser div id=pwcercontainer
chamado duas vezes. não pode trabalhar fora exatamente o porquê. Substituir a sx:div label="Admin Record Deployment"
contendo com um simples não-suportes div faz com que a ação a ser chamado apenas uma vez. Nós não podemos ver nada na documentação para sx:div
que explica este comportamento.
Alguém sabe alguma coisa sobre isso ou ter experiência semelhante?
Graças. NCF
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/tags/c.tld" prefix="c" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tags/arcade.tld" prefix="arcade" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<s:url id="pwcerAjax" action="pwcerajax" method="start" includeParams="none"/>
<s:url id="pwAjax" action="pwajax" method="start" includeParams="none"/>
<s:url id="listPendingDeploymentsLink" action="listPendingDeployments" namespace="/"/>
<s:url id="record" action="recordDeploymentFragment" method="showAdminRecord" namespace="/"/>
<sx:div label="Admin Record Deployment" >
<!-- Div where content will be displayed -->
<sx:div id="pwcercontainer" href="%{pwcerAjax}" showLoadingText="false" indicator="recordImage" preload="true">
</sx:div>
<div id="loadingContainer"><img id="recordImage" src="images/ajaxLoadingAnimation.gif" style="display:none" alt="loading animation"/></div>
</sx:div>
Solução
Eu ter atingido esta questão muitas vezes agora e é sempre para baixo a um erro da minha parte. Retornando um fragmento que contém a peça chamando de código:
<s:url id="getDeployQueue" action="deploymentQueue" />
<sx:div href="%{#getDeployQueue}" formId="queueForm" executeScripts="true" autoStart="true" updateFreq="3000" preload="false" showLoadingText="false" listenTopics="refreshqueue" id="deploymentQueue" >
THE CODE RETURNED in HERE CONTAINS THE s:url id="getDeployQueue" duplicating it and resulting in double calls
</sx:div>
Ou i foram definindo o atributo alvo de outra tag ajax ser um sx:. Div quando eu realmente deveria estar atualizando-o usando um tópico dojo
Espero que isso ajude alguém
Neil