Hi!
Did you find a
solution? I also need to remove FacesMessage(s) from the FacesContext, because of removing global
duplicates.
-Matthias
-----Ursprüngliche
Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]Im Auftrag von Dave
Gesendet: Donnerstag, 16. März 2006 01:18
An: [email protected]
Betreff: remove FacesMessage(s) safely
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]Im Auftrag von Dave
Gesendet: Donnerstag, 16. März 2006 01:18
An: [email protected]
Betreff: remove FacesMessage(s) safely
I know I am doing hacks because MyFaces does not display beautiful messages in my case.In a phase listener (after Model Update), I tried to remove FacesMessage(s) with generated ID like "_idJsp123"FacesContext context = event.getFacesContext();
Iterator<FacesMessage> itr = context.getMessages();
while (itr.hasNext()) {
FacesMessage message = itr.next();
if (message.getDetail().indexOf("_id") >=0 )
itr.remove();
}Removing was successful without error. But during Render Phase, an error showed up. It seems that the referenced FacesMessage is not found. I do not understand how it happens. If a FacesMessage is deleted from a collection, and it is still ref erenced by others, it will not be gabage collected.Is there a way to remove FacesMessages safely? Thanks!java.util.NoSuchElementException
at java.util.AbstractList$Itr.next(AbstractList.java:427)
at org.apache.myfaces.renderkit.html.HtmlMessagesRendererBase$MessagesIterator.next(HtmlMessagesRendererBase.java:329)
at org.apache.myfaces.renderkit.html.HtmlMessagesRendererBase.renderTable(HtmlMessagesRendererBase.java:119)
at org.apache.myfaces.renderkit.html.HtmlMessagesRendererBase.renderMessages(HtmlMessagesRendererBase.java:67)
at org.apache.myfaces.renderkit.html.HtmlMessagesRenderer.encodeEnd(HtmlMessagesRenderer.java:39)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:433)
at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:215)
at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:97)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:433)
at org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:410)
Yahoo! Travel
Find great deals to the top 10 hottest destinations!

