我最近从Struts 2.0.11升级到最新版本(2.3.15),发现我无法刷新 sx:div 标签。这是代码:
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<sx:head debug="true" />
<script language="javascript" type="text/javascript">
var controller = {
refresh : function() {}
};
dojo.event.topic.registerPublisher("/refresh", controller, "refresh");
</script>
<s:url id="URLAjaxKaptcha" namespace="%{#attr.kaptchaNamespace}" action="kaptcha"/>
<sx:div id="prosoc_kaptcha" theme="ajax" href="%{URLAjaxKaptcha}"
loadingText="<small>loading …</small>"
errorText="Security code is loading - please wait"
listenTopics="/refresh" cssClass="kaptchaDiv">
</sx:div>
<s:a href="javascript:void(0)" onclick="controller.refresh()">click to get a new image</s:a>.
在升级之前,当用户点击刷新超链接时,新的kaptcha图像会返回到 sx:div 。升级后,这不再起作用。
我没有收到任何错误消息,我可以在 beforeNotifyTopics 和 afterNotifyTopics 之后发出提醒,因此我知道正在调用刷新功能。我只是没有在 sx:div 中获得新的kaptcha图像。
有没有人有任何想法?