我有一个可以显示、编辑和删除帐户的应用程序。
- Display 使用
displayAccounts.jsp
并由/accounts
url 调用 - Edit 使用
editAccount.jsp
并由/accounts/{id}/edit
调用,其中id
是要编辑的帐户的主键。 - Delete没有自己的 View ,只是调用Controller中的
@RequestMapping
方法,并由/accounts/{id调用}/删除
每个操作成功后都会重定向到显示页面。
成功执行操作(编辑/删除)后,我想发送一条可以显示在“显示”页面上的成功消息。我怎样才能做到这一点?
由于我没有删除操作的 View ,因此我也想在“显示”页面中显示错误。
请帮忙。提前致谢。
最佳答案
使用 RedirectAttributes
是实现此目的所需的。我假设从 EDIT 和 DELETE 操作的 POST 方法中,您使用“redirect:”通过其 Controller 重定向到 DISPLAY View 。
要实现此目的,您需要将 RedirectAttributes 属性
作为 Controller 函数中的参数。然后在 return 语句之前添加以下代码行。
attributes.addFlashAttribute("successMsg", "Account Edit/Delete successfully");
或
attributes.addFlashAttribute("errorMsg", "Edit/Delete account is unsuccessful");
如果出现错误消息。
然后在 displayAccounts.jsp 页面上,您只需使用 ${successMsg}
或 ${errorMsg}
显示消息
一旦显示该消息,如果您刷新页面,则该消息将不会出现。它只会向用户显示一次。
这非常适合您的场景。即使我也用这个。
希望这对您有帮助。干杯。
关于java - Spring - 如何在 View 之间传递消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633916/