2012-07-17 68 views

回答

2

在第二頁的bean的@PostConstruct方法(或構造函數),添加的FacesMessage,例如:

context.addMessage(null, new FacesMessage("Growl Message", "Growl Message Text")); 
+0

注意,bean必須是'@ ViewScoped'。 – BalusC 2012-07-18 03:48:35

+0

我忘了提及一個細節:我有一個JSF頁面'Accounts',在那裏我可以看到一個用戶列表,並且我也有用於添加用戶的表單的JSF頁面。我希望在添加新用戶時將用戶重定向到「賬戶」頁面並顯示Primefaces咆哮消息「成功」。在這個例子中,每次刷新頁面'Accounts'時,我都會看到消息。我如何解決這個問題? – user1285928 2012-07-18 12:32:04

+0

嘗試將redisplay =「false」添加到您的咆哮組件定義中,例如 BestPractices 2012-07-18 15:55:34

0

這裏是我的解決方案。它將在重定向之前顯示當前頁面中的msg。

HTML:

<h:form prependId="false"> 
    <p:growl /> 
    <p:button outcome="gotoABC" id="rdr-btn" style="display: none;" /> 
    <p:commandButton action="#{bean.process()}" update="@form" /> 
</form> 

豆:

public void process(){ 
    addInfoMsg(summary, msgDetail); //Add msg func 
    RequestContext.getCurrentInstance().execute("setTimeout(function(){ $('#rdr-btn').click(); }, 3000);"); // 3 seconds delay. I put the script in Constants to config later. 
}