谁能解释这阿贾克斯的Struts 2怪刷新的行为吗?
题
我们已经在我们的JSP以下代码(下面列出)。我们看到,在div href
的id=pwcercontainer
被调用两次配置的操作。不能确切地明白为什么。用一个普通的非支柱DIV更换含有sx:div label="Admin Record Deployment"
导致要仅调用一次的动作。我们看不到解释此行为sx:div
文档中的任何东西。
有谁知道这事,或有类似的经历?
感谢。 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>
解决方案
我现在已经很多次击中这个问题,它始终是下降到在我的部分错误。要么返回包含的代码调用片的片段:
<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>
或者我已经设定另一AJAX标签的目标属性是一个SX:我真的应该使用道场的话题来更新它的div
希望这有助于某人
尼尔
不隶属于 StackOverflow