Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Jsp 如何避免重复数据在struts2中显示当我刷新页面时,我使用S2锚定标记..不使用表单_Jsp_Struts2_Post Redirect Get - Fatal编程技术网

Jsp 如何避免重复数据在struts2中显示当我刷新页面时,我使用S2锚定标记..不使用表单

Jsp 如何避免重复数据在struts2中显示当我刷新页面时,我使用S2锚定标记..不使用表单,jsp,struts2,post-redirect-get,Jsp,Struts2,Post Redirect Get,我被这个问题震惊了……我在一个锚定标记中有一个链接,它映射到一个动作,当我点击这个链接时,它将显示数据库中一个表数据的所有行……在我的jsp中,我使用s2迭代器标记来显示内容。所以,当我再次刷新该页面时,该动作正在执行,这将导致重复操作数据正在jsp页面中显示…我开始知道,在表单中,我们可以使用令牌标记来实现这一点。。。但我想使用锚定标签,请帮助我 struts.xml代码: <action name="displayMails" class="com.money.action.Displ

我被这个问题震惊了……我在一个锚定标记中有一个链接,它映射到一个动作,当我点击这个链接时,它将显示数据库中一个表数据的所有行……在我的jsp中,我使用s2迭代器标记来显示内容。所以,当我再次刷新该页面时,该动作正在执行,这将导致重复操作数据正在jsp页面中显示…我开始知道,在表单中,我们可以使用令牌标记来实现这一点。。。但我想使用锚定标签,请帮助我

struts.xml代码:

<action name="displayMails" class="com.money.action.DisplayMailAction"> 
  <result name="SUCCESS" type="redirect"> </result> 
</action>


$(文档).ready(函数(){
window.history.pushState(“,”,location.href);
});
它只在HTML5浏览器上工作,如果你的目标是老的互联网探索者,它不会


编辑:为jQuery添加了CDN,以防不清楚…

您使用的是ajax吗?如果不是,也许你需要在发布后重定向?请参阅。不,我没有使用ajax…仅使用S2锚定标记来subitt,然后在发布值后重定向到某些操作。@AleksandrM我尝试使用重定向结果,但它不起作用。.如何做我是S2新手,请帮助。这个技巧基本上是说浏览器的历史记录显示最后一个页面不是来自帖子(带有参数),而是正常打开的。这样,按F5键不会触发任何双重提交。它有一些副作用,但它应该在大多数情况下工作。。。现在试试看;)我尝试使用下面的代码$(document.ready(function(){window.history.pushState(“,”,“localhost:8084/www.moneye.in/Inbox.jsp”);});但仍然不起作用…请指导我做这件事的其他方法?首先:离开
location.href
,不要手动输入地址,这是“自动”的;第二:您当然需要通过CDN导入jQuery,或者包括jQuery JS文件并导入到页面中(对于
$(document).ready
部分);否则,请将只有
history.pushState()
的脚本放在正文末尾。您仍然有问题吗?如果答案有帮助,你能接受吗?
<html>
    <head>
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script>
            $(document).ready(function() { 
                window.history.pushState("","", location.href); 
            });
        </script>
    </head>
    <body>
        <!-- STUFF -->
    </body>
</html>