在PRG模式中如何在刷新成功页面上删除ActionMessage

为了避免重新提交表单,我使用了POST-Redirect-GET模式,它运行正常。 现在在我的注册页面(成功页面)上显示ActionMessage“Review Inserted successfully!”。 当用户刷新页面时,我想删除此消息。

我在JSP页面上的代码:

 

在struts.xml上:

  insertReviewDone display.writeReview.page   display.writeReview.page  

在Action类中:

 public String insertReviewDone(){ addActionMessage("Write review is successful"); return "success"; } 

编辑:

在实现Aleksandr M建议的答案后,我遇到了以下问题:

  

Review

在上面的代码刷新页面后,businessName被删除而不显示。 任何帮助将不胜感激。

使用Message Store InterceptorinsertReview存储操作消息,并在insertReviewDone操作中检索它。 返回insertReviewDone结果时,在insertReview方法中添加操作消息。

还可以使用redirectAction结果重定向到操作而不是redirect

   STORE   insertReviewDone display.writeReview.page    RETRIEVE   display.writeReview.page  

另一种方法,比@AleksandrM提出的(好的)技术要少,但适用于那里的每个框架,不仅仅是Struts2,就是放置这个

  

部分。 但是,它不适用于没有HTML5function的旧浏览器。

注意:jQuery部分不是必需的,它仅用于确保在页面加载后运行,您可以在没有它的情况下运行HTML5 pushState()