Struts2将信息发送给其他操作

时间:2014-02-14 21:44:55

标签: struts2

我有两个动作列表并添加。当我从列表操作添加操作时,添加操作已打开。填写表单并提交后,页面将重定向到列表页面并显示已成功添加的消息。 我确实喜欢 我从添加页面和列表页面发送更新true我检查更新true与引用者添加页面网址然后显示成功添加的消息。 但问题是  当我按F5并单击刷新图标时,会再次显示消息。

我想知道我将如何在Struts2中将操作中的信息发送到操作。因此,在单击“引用”图标并按F5后,此信息将被删除。

1 个答案:

答案 0 :(得分: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做同样的事。

无论如何,最好的解决方案应该是发布/重定向/获取方法,但为此,您应该改变您在应用程序中执行操作的方式,可能会有点混乱。请查看THISTHIS。对于 struts ,您有另一个示例HERE

希望这有帮助。