フォームの再送信を避けるために、POST-Redirect-GET パターンを使用しましたが、問題なく動作しています。今、私の登録ページ(成功ページ)に、「Review Inserted successfully!」という ActionMessage が表示されています。ユーザーがページを更新すると、このメッセージを削除したいと思います。
JSPページの私のコード:
<s:if test="hasActionMessages()">
<div class="success-mesg" id="success-mesg">
<s:iterator value="actionMessages">
<s:property value="top" />
</s:iterator>
</div>
</s:if>
struts.xml で:
<action name="insertReview" class = "com.tenkinfo.streamlinedmapnsav.ui.action.WriteReviewAction" method="insertReview" >
<result name="insertReviewDone" type="redirect" >insertReviewDone</result>
<result name="input" type="tiles">display.writeReview.page</result>
</action>
<action name="insertReviewDone" class = "com.tenkinfo.streamlinedmapnsav.ui.action.WriteReviewAction" method="insertReviewDone" >
<result name="success" type="tiles" >display.writeReview.page</result>
</action>
アクション クラス:
public String insertReviewDone(){
addActionMessage("Write review is successful");
return "success";
}
編集 :
Aleksandr M が提案した回答を実装した後、以下の問題が発生しています。
<s:form name="insertReview" action="insertReview" id="insertReview"
theme="simple" enctype="multipart/form-data">
<div class="content-area">
<h1>
Review
<s:property value="businessName" />
</h1>
<s:if test="hasActionMessages()">
<div class="success-mesg" id="success-mesg">
<s:iterator value="actionMessages">
<s:property value="top" />
</s:iterator>
</div>
</s:if>
上記のコードでページを更新すると、businessName が削除され、表示されなくなります。どんな助けでも大歓迎です。