I am creating a component which behaves like an ActionLink but is form
aware in the sense that the form is submitted and then the actionlink is
called.
It all works fine when I persist the link (building it in the render
phase). But was hoping to not need the persit. Then again, it should not
be too bad as it is using flash persistence.
Joachim
Joachim
Robert Zeigler wrote:
What is it you're trying to accomplish?
Robert
On Feb 20, 2008, at 2/202:31 PM , Joachim Van der Auwera wrote:
Indeed. Problem is that I don't need it until the button is clicked.
Then in the onSelected() I build the "Link" to redirect to.
It seems a bit backward (and waste of data in the session) if I have
to build this link during render and persist it until the button is
clicked (if it is).
Any ideas how to fix this?
THanks for the help,
Joachim
Robert Zeigler wrote:
getting a NPE trying to access the page's root element (page is null).
Page is obtained from the active page from the page render queue.
So, it looks like you're trying to create an action link while no
page is rendering.
Cheers.
Robert
On Feb 20, 2008, at 2/202:03 PM , Joachim Van der Auwera wrote:
Does anybody have an idea what I am doing wrong?
Using the latest snapshot of tapestry5.
In the following code :
@Inject
private ComponentResources resources;
/**
* Act upon the "link"
*/
void onSelected()
{
Link link = resources.createActionLink( "action", false,
contextArray );
}
I get a NPE with the following stack trace
*
org.apache.tapestry.internal.services.LinkFactoryImpl.collectActivationContextForPage(LinkFactoryImpl.java:217)
*
org.apache.tapestry.internal.services.LinkFactoryImpl.createActionLink(LinkFactoryImpl.java:129)
*
org.apache.tapestry.internal.structure.PageImpl.createActionLink(PageImpl.java:156)
*
org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.createActionLink(InternalComponentResourcesImpl.java:123)
*
org.equanda.tapestry5.components.FormActionLink.onSelected(FormActionLink.java:64)
*
org.equanda.tapestry5.components.FormActionLink.dispatchComponentEvent(FormActionLink.java)
*
org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:843)
*
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004)
*
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent(ComponentPageElementImpl.java:934)
*
org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.triggerEvent(InternalComponentResourcesImpl.java:154)
*
org.apache.tapestry.corelib.components.Submit$1.run(Submit.java:93)
*
org.apache.tapestry.corelib.internal.FormSupportImpl.executeDeferred(FormSupportImpl.java:114)
*
org.apache.tapestry.corelib.components.Form.onAction(Form.java:396)
*
org.apache.tapestry.corelib.components.Form.dispatchComponentEvent(Form.java)
*
org.equanda.tapestry5.components.Form.dispatchComponentEvent(Form.java)
*
org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:851)
*
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004)
*
org.apache.tapestry.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67)
*
org.apache.tapestry.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
*
org.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
*
org.apache.tapestry.services.TapestryModule$39.handle(TapestryModule.java:2077)
*
org.apache.tapestry.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:131)
*
org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:914)
*
be.synergetics.ca.gui.services.AppModule$2.service(AppModule.java:175)
*
be.synergetics.ca.gui.services.AppModule$1.service(AppModule.java:102)
*
org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
*
org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:530)
*
org.apache.tapestry.services.TapestryModule$2.service(TapestryModule.java:505)
*
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
*
org.equanda.t5gui.services.AppModule$7.service(AppModule.java:175)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
*
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
*
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
*
org.apache.tapestry.services.TapestryModule$12.service(TapestryModule.java:894)
*
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
*
org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:164)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
*
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
*
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
*
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
*
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
*
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
*
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
*
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
*
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
*
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
*
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
*
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
*
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
*
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
*
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
*
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
*
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
*
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
* java.lang.Thread.run(Thread.java:595)
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Joachim Van der Auwera
PROGS bvba, progs.be
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]