2014-02-14 67 views
1

我有两个动作列表并添加。当我从列表动作中添加动作时,添加动作已打开。填写表格并提交后,页面被重定向到列表页面并显示成功添加的消息。 我这样做 我发送更新从添加页面和列表页面上我更新真实与引用添加页面网址然后显示成功添加消息。 但问题是 当我按F5并点击刷新图标,消息再次出现。Struts2向其他动作发送信息

我想知道,我将如何从Struts2中的行动发送信息。因此,点击提示图标并按F5后,此信息即被删除。

回答

0

这是众所周知的双提交问题。如果问题只是用F5重新加载,最简单的方法就是捕获事件。像这样:

// keep old onkeyup event 
var oldwkeyup = window.onkeyup; 
window.onkeyup = wkeyup; 
function wkeyup(e) { 
    e = e || window.event; 
    if (e.keyCode == 116) {// F5 
     return false; 
    } 
    // try to execute the old event 
    try { 
     oldwkeyup(); 
    } catch (E) {} 
} 

或者对jQuery也一样。

无论如何,最好的解决方案应该是Post/Redirect /获得方法,但是对于这个,你应该改变一下你在应用程序中做事情的方式,可能有点混乱。看看THISTHIS。对于struts你有另一个例子HERE

希望这会有所帮助。