Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struts 2 ajax sx:升级后div刷新不工作_Ajax_Struts2_Refresh - Fatal编程技术网

Struts 2 ajax sx:升级后div刷新不工作

Struts 2 ajax sx:升级后div刷新不工作,ajax,struts2,refresh,Ajax,Struts2,Refresh,我最近从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()

我最近从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 &#133;</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>.

变量控制器={
刷新:函数(){}
};
dojo.event.topic.registerPublisher(“/refresh”,controller,“refresh”);
单击以获取新图像。
在升级之前,当用户单击“刷新”超链接时,一个新的kaptcha映像返回到sx:div。升级之后,这将不再起作用

我没有收到任何错误消息,我可以在beforeNotifyTopics和afterNotifyTopics中放置警报,以便知道正在调用刷新函数。我只是没有在sx:div中获得新的卡普查图像


有人有什么想法吗?

下载中有一个struts2-dojo-plugin.jar文件,下载的应用程序附带了许多针对Struts-2.3.15的ajax集成示例。我还通过dojo插件加载kaptcha。那似乎违背了你的要求。还有其他选择吗?:)Struts2 dojo插件已被弃用。看来您是正确的:。谢谢