Чтобы избежать повторной отправки формы, я использовал шаблон POST-Redirect-GET и работает нормально. Теперь на моей странице регистрации (странице успеха) отображается ActionMessage «Обзор вставлен успешно!». Когда пользователь обновляет страницу, я хочу удалить это сообщение.В шаблоне PRG Как удалить 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";
}
Edit:
После реализации ответа, предложенный Александр М, У меня ниже проблем:
<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 удаляются и не отображается. Любая помощь будет оценена по достоинству.
Почему downvote? +1, чтобы компенсировать это. –
Храните его в сеансе, например. –