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
struts2 ajax重定向_Ajax_Struts2_Dojo - Fatal编程技术网

struts2 ajax重定向

struts2 ajax重定向,ajax,struts2,dojo,Ajax,Struts2,Dojo,我开发了一个用struts2+tiles+dojo(用于ajax部分)构建的应用程序,我有以下要求:每2秒钟我必须从数据库中检查一个表,如果满足某些条件,我必须将用户重定向到一个特殊页面。 我解决这个问题的方法是创建一个struts2 actions,它检查表并作为响应呈现,如下所示: <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-

我开发了一个用struts2+tiles+dojo(用于ajax部分)构建的应用程序,我有以下要求:每2秒钟我必须从数据库中检查一个表,如果满足某些条件,我必须将用户重定向到一个特殊页面。
我解决这个问题的方法是创建一个struts2 actions,它检查表并作为响应呈现,如下所示:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
   <html> 
    <body>      
       <script> 
         window.location= '<s:property value="url"/>';
       </script>
    </body>
   </html>

window.location='';
通过ajax调用访问此页面,如:

<sx:div href="%{ajaxUrl}" 
    updateFreq="1200" 
    cssStyle="float:right"
    id="live" 
    loadingText="Loading..." 
    executeScripts="true"
    parseContent="false">
</sx:div>

这就是我实现重定向的方式。 我确信必须有一个更优雅、更优化的解决方案。

任何想法?

在作为ajaxUrl目标的操作上使用struts2 json插件。我不使用sx标记,我只使用JS(对于jQuery,普通库不使用任何struts2插件)。任何使用JS的方法都可以使用JS(或选择的框架)每2秒异步调用一次操作,您将以json字符串的形式返回url,如果字符串不为空,您将重定向到新url(或者您可以返回许多变量,可能包含在DB中找到的一些条件,并在页面上显示它们,并根据这些状态变量重定向)。

Hi Quaternion,删除sx标记似乎是个好主意,因为我讨厌它们:),我会尝试一下解决方案,然后回来发布结果/将答案标记为已接受。