【发布时间】:2012-08-18 14:15:08
【问题描述】:
在add_customer.jsf页面上成功将客户添加到我的JSF应用程序后,用户将被重定向到页面list_customers.jsf。
我希望在此页面上显示成功消息。仅当用户确实来自 add_customer.jsf 页面时才应显示该消息。
我该怎么做?
【问题讨论】:
在add_customer.jsf页面上成功将客户添加到我的JSF应用程序后,用户将被重定向到页面list_customers.jsf。
我希望在此页面上显示成功消息。仅当用户确实来自 add_customer.jsf 页面时才应显示该消息。
我该怎么做?
【问题讨论】:
一种方法是在添加客户的操作方法中向 The Flash 添加一条消息。
如果设置消息的是那个页面(或者实际上是它背后的代码),您不需要明确检查用户是否来自add_customer.jsf。在目标页面上,您只需要一个 <h:messages> 组件。
我的一位同事在Sample CRUD application with JSF 发布了一个示例 CRUD 应用程序,该应用程序正是这样做的。
相关代码在支持 bean UserEdit 和重定向发生的 page 中。
请注意,如果您的 JSF 实现是 Mojarra,则 Flash 仅适用于同一目录中的页面之间。如果这让您感到困扰,请考虑为这个问题投票:http://java.net/jira/browse/JAVASERVERFACES-2136
【讨论】:
最好的方法是使用<h:message> 标记,您可以使用该标记绑定可以在重定向到list_customer.jsf 之前填充的消息。
过去 3 到 4 年,我们一直在使用这种方法在我们的应用程序中显示消息,并且偶尔使用部分触发器在同一页面上刷新。
【讨论】: