我有一個頁面,當我保存數據時添加新項目我去其他頁面,我想看到「數據已保存成功」的消息。我讀到這條消息屬於請求範圍,這就是我使用Flash範圍的原因。發送Flash信息到重定向頁面
context.addMessage("calendarGameForm:growl", new FacesMessage("Data was saved successful");
context.getExternalContext().getFlash().setKeepMessages(true);
return outcome;
這是由第一頁addSeason.xhtml
上的保存按鈕調用的。
<p:commandButton id="save" action="#{controller.add}"
value="#{msg.save}" ajax="true"
type="submit" update="@form"/>
導航規則定義如下。
<navigation-rule>
<from-view-id>/competitions/addSeason.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/competitions/calendarGame.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>fail</from-outcome>
<to-view-id>/competitions/calendarGame.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
但在目標頁面calendarGame.xhtml
我沒有得到我的消息。
<p:growl id="growl" globalOnly="true" sticky="true"/>
我也在服務器日誌中收到此警告。
警告[javax.enterprise.resource.webcontainer.jsf.flash(AJP - 127.0.0.1-8009-1)JSF1095:響應已通過我們試圖爲即將離任的餅乾時提交閃光。存儲到閃存中的任何值都將在下一個請求中不可用。
我該如何解決我的問題?
@BalucC非常感謝) – Ray
不客氣。 – BalusC