- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为了避免重新提交表单,我使用了 POST-Redirect-GET 模式并且它工作正常。现在在我的注册页面(成功页面)上显示了 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>
在 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 被删除并且不显示。任何帮助将不胜感激。
最佳答案
使用Message Store Interceptor
在您的 insertReview
中存储操作消息并在您的 insertReviewDone
操作中检索它。当您返回 insertReviewDone
结果时,在 insertReview
方法中添加操作消息。
还使用 redirectAction
结果重定向到操作,而不是 redirect
。
<action name="insertReview" class = "com.tenkinfo.streamlinedmapnsav.ui.action.WriteReviewAction" method="insertReview">
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="insertReviewDone" type="redirectAction">insertReviewDone</result>
<result name="input" type="tiles">display.writeReview.page</result>
</action>
<action name="insertReviewDone" class = "com.tenkinfo.streamlinedmapnsav.ui.action.WriteReviewAction" method="insertReviewDone" >
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
<result name="success" type="tiles">display.writeReview.page</result>
</action>
关于java - 在 PRG 模式中如何在刷新成功页面上删除 ActionMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18914258/
就像...任何网络开发人员都可以向我解释 PRG 如何使事情变得更安全吗???我看到“通过冗余确认”的原则在起作用,但我不明白他们如何平衡风险。 作为一名网络开发人员,我发现有人有机会劫持请求或执行其
我还没有找到使用 JSF2 的 PRG 模式的最终实现。 BalusC 博客介绍 a very good solution ,但正如作者自己所说,这样的解决方案不适用于 JSF2。 The solut
我需要防止为客户的网站重复提交表单。 我们需要来自用户的一些表单数据用于订单确认页面。 我们对网络服务器使用负载平衡。 方法 1:发布/重定向/获取 (PRG 模式:http://en.wikiped
我的网站遵循重定向后获取模式。 似乎有两种方法可以处理失败的验证。任何一个: 使用验证消息呈现页面 临时存储验证消息,并重定向到显示消息的 GET 这两种实现都遵循 PRG 模式吗? 有没有更具体的方
我想为 Web 应用程序实现表单处理。我想实现 PRG (post-redirect-get),因为我相信这是表单处理的方式(与重新加载和后退按钮一起玩得很好)。但是,我看到它使验证复杂化。 基本上,
所以我阅读了这种称为 PRG 的方法,作为解决表单双重提交问题的一种方式。但是,我还没有找到向用户显示的摘要页面/成功消息的下降实现。我能想到的唯一方法是存储 session 变量,但我不希望它在多次
我正在使用带有 PRG 模式的 JSF。 (在我的导航规则中使用)。 问题是当我收到验证错误(例如:用户未设置强制值)时,重定向未完成(即帖子后跟获取同一页面)。 场景是: 用户没有输入强制值并提交表
我目前正在研究我当前工作中的 JSF。过去,在使用 Spring 和 Struts 时,我总是在任何时候执行 PRG (Post-Redirect-Get)我做了一些可能会更新模型的事情。 在 JSF
我正在创建一个简单的 IP 黑名单。每个请求都根据 IP 列表进行评估,并在必要时抛出 403。我决定在 Apache 端使用 mod_rewrite、它的 RewriteMap 和简单的 pytho
为了避免重新提交表单,我使用了 POST-Redirect-GET 模式并且它工作正常。现在在我的注册页面(成功页面)上显示了 ActionMessage“评论已成功插入!”。当用户刷新页面时,我想删
我正在尝试使用 [ImportModelStateFromTempData] 和 [ExportModelStateToTempData] 操作过滤器来实现 PRG 模式。这种模式非常适合平面模型,但
在用户使用 url success = 1 中的变量填写有关自己的信息到同一页面后,我尝试重定向用户,但变量似乎为空或不正确。当 URL 为: http://example.com/contact.h
我最近购买了一台 c64 mini,并尝试使用 Turbo Macro Pro v1.2 编写一些汇编代码。 在编写 hello world 程序时,我发现了一个使用自动运行 BASIC header
所以我一直使用松散的 PRG 模式,您可以在其中从 POST 操作返回有关 ModelState 验证失败的 View 。然而,一直困扰着我的是,我不仅要在 GET 操作中构建模型,还要在失败时在 P
出于 SEO 原因,我正在尝试实现“post request get”模式,如本示例中所述: https://www.advertising.de/seo/wiki/prg-pattern.html
我对如何在 PHP 中实现 Post/Redirect/Get 模式有些困惑。我看到一些答案说在提交表单后只需添加 header 功能;我已经这样做了,但是在验证输入字段是否为空时,它不会打印任何内容
我对所有表单都使用 post-redirect-get 模式,但现在需要添加 AJAX 功能来改善用户体验。我最初的想法是两者不混合。 在 PRG 场景中,如果出现验证错误,我将让我的 post 操作
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
我无法使用 eclipse 从远程计算机运行 hadoop 2.2.0 中的 wordcount 示例。我构建了可运行的 jar 并使用 >java -jar wordcount.jar 执行。我的驱
我是 ASP.Net MVC 的新手。在 PHP 中,即使 post 请求无效,我也总是使用 PRG 模式。 session 闪烁非常容易(也是用户友好的)。 但是,在 ASP.Net MVC 中,当
我是一名优秀的程序员,十分优秀!