struts2 ajax重定向

时间:2012-03-30 14:57:35

标签: ajax struts2 dojo

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

    <%@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>

此页面通过ajax调用加入:

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

这就是我完成重定向的方法。 我确信必须有一个更优雅和优化的解决方案 任何想法?

1 个答案:

答案 0 :(得分:0)

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