Mike,
Sorry, I missed your comment on the bug on Wednesday. I'll look at this
now.
Rich
Mike Arnold (JIRA) wrote:
[ http://issues.apache.org/jira/browse/BEEHIVE-827?page=comments#action_12314256 ]
Mike Arnold commented on BEEHIVE-827:
-------------------------------------
It appears the onCreate() method is no longer executed when returning from the
action, so there appears to be no place to getPageInput() to retrieve the
message and place into FacesContext. Do you have a recommendation as to how I
can best retrieve the ActionOutput from inside my backing bean? Do I need to
forward to a different faces view in order to execute getPageInput() from the
onCreate() method of a new backing bean?
FacesMessages unavailable in JSF
--------------------------------
Key: BEEHIVE-827
URL: http://issues.apache.org/jira/browse/BEEHIVE-827
Project: Beehive
Type: Bug
Components: NetUI
Versions: v1m1
Environment: Sun JSF-ri, Tomcat 5.0.28
Reporter: Mike Arnold
Fix For: V1
I created a FacesBackingBean that raises an action in the controller. The action
returns a Forward sending the request back to the JSF. The forward generates an
ActionOutput of a simple String message. In the onCreate() method of the
FacesBackingBean I called getPageInput() to retrieve the ActionOutput. I then cast
the output as a string and pass it to a new FacesMessage which is passed to
FacesContext.getInstance().addMessage(). In the JSF, the message is not displayed
using the <h:messages/> tag.
If I add the new FacesMessage to FacesContext in an event handler that does not
raise an action, the message is displayed as expected.
If I add the new FacesMessage to FacesContext in onCreate() without going
through an action, the statement throws a NPE.
@Override
protected void onCreate() throws Exception {
FacesContext.getCurrentInstance().addMessage("foo", new
FacesMessage("bar"));
}
Stack Trace:
java.lang.NullPointerException
at petstoreAdmin.login.onCreate(login.java:30)
at
org.apache.beehive.netui.pageflow.PageFlowManagedObject.create(PageFlowManagedObject.java:62)
at
org.apache.beehive.netui.pageflow.internal.FacesBackingBeanFactory.getFacesBackingBeanForRequest(FacesBackingBeanFactory.java:73)
at
org.apache.beehive.netui.script.common.ImplicitObjectUtil.loadImplicitObjects(ImplicitObjectUtil.java:161)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.runPage(PageFlowPageFilter.java:271)
at
org.apache.beehive.netui.pageflow.PageFlowPageFilter.doFilter(PageFlowPageFilter.java:205)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)