You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Manri Offermann <ta...@eastbeam.co.jp> on 2006/12/13 23:18:02 UTC

PageValidateListener ListenerParameter DirectService

Hi Tapestry Users,

I have problems accessing listener parameters in pageValidate, when a page is called as a direct service.

When accessing the page (see below) as an external service with a parameter (sp=1), the listener parameters in pageValidate contains the value 1.

pageValidate[1]
activateExternalPage[1]
prepareForRender[1]

But when the same page is called as a Direct Service (clicking on the DirectLink), the listener parameter in pageValidate is null, whereas in prepareForRender the listener parameter contains the value 1.

pageValidatenull <--------------------------------
prepareForRender[1]

I am using 4.1.1-SNAPSHOT, does anybody have an idea, how i can access the listener parameters in pageValidate or why the parameters are null?

the page:

<html jwcid="@Shell" title="">
 <body jwcid="@Body">
  <a jwcid="@DirectLink" listener="listener:onSubmit" parameters="ognl:{1}">test</a>
 </body>
</html>

and the class:

public abstract class TestPage extends BasePage implements PageValidateListener, IExternalPage {

 public void onSubmit(IRequestCycle cycle) {
  // do nothing
 }

 public void activateExternalPage(Object[] parameters, IRequestCycle cycle) {
  System.out.println("activateExternalPage" + Arrays.toString(cycle.getListenerParameters()));
 }

 public void pageValidate(PageEvent event) {
  System.out.println("pageValidate" + Arrays.toString(event.getRequestCycle().getListenerParameters()));
 }

 protected void prepareForRender(IRequestCycle cycle) {
  System.out.println("prepareForRender" + Arrays.toString(cycle.getListenerParameters()));
 }
}



Regards,


Manri Offermann