i have a stupid problem.
I have a simple xhtml site within one <h:inputText required="true"/>
On the same page i have a <h:messages>-Tag for displaying any errors.
If i do a submit, the error is displayed correctly, but i have also a Info in my server log.
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed...
But i have a <h:messages/> tag. I don't unterstand this info or warning.
I'm using the latest JSF RI Impl, the latest facelets and the latest JBoss PortletBridge on Liferay 5.2.3
Thanks for any help
This log entry tells you that there is a message added to the context but not rendered in the view. This happens for example if you only rerender one part of the page. You can use <rich:messages /> instead.
Please have a look on this thread
thanks for your answer.
What i want to do is to use the portletbridge only with a base jsf-implementation. No richfaces or other component-library.
So if i use the bridge with the sun reference implementation i get the info/warnings as described.
But i hava a <h:messages/>-tag in my .xhtml-page. I think this is a bug.
If i use the sun jsfportletbridge everything works fine.
you are right, the info log always appears. The reason for this is in the jsf-1.2 implementation. Before rendering starts in the RenderResponsePhase all messages are saved. In FacesContextImpl the messages are remove in the getMessage methods. So after rendering is finished it is checked if there are still messages saved and printed out. As the portletbridge uses an own implementation of the FacesContextImpl the saved messages are not deleted and all saved messages are logged. As this feature is dedicacted to the 1.2 release and the portletbridge must support different jsf implementation I dont think its a bug of the bridge. If you want to avoid the messages the best way is to switch the log level to warn for the RenderResponsePhase class.