Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-872

Persitent page properties are not set before PageAttachListener#pageAttached method is fired


    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: 4.1.2
    • Component/s: Framework
    • Labels:
    • Environment:
      Windows 2000 Proffesional SP4
      Apache Tomcat 4.1
      Tapestry 4


      Persisten page property in pageAttached method is not set to stored property value before this listener is notified.It is set after pageAttached is called, not before. It means property values stored in session can not be accesses in pageAttached method. If II understood specificaion correctly, it should be set before pageAttached is called.

      In javadoc specification for PageAttachListener#pageAttached(PageEvent event) it is written:
      "... Notifications occur after persistent page properties have been restored, but before the page is
      activated (if it is activated). ..."

      Here is simple example:

      ZTest.page specification:

      <page-specification class="ZTest">
      <property name="name" persist="session"/>
      <property name="nameNoSession"/>

      Asociated java class:

      public abstract class ZTest extends BasePage implements PageAttachListener
      public abstract String getName();
      public abstract void setName(String name);
      public abstract String getNameNoSession();
      public abstract void setNameNoSession(String nameWithoutSession);
      public void pageAttached(PageEvent event)

      { String name = this.getName(); // <-- here is returned null every time even if value is stored to session String nameWithoutSession = this.getNameNoSession(); }


      • Listener
      • <at> cycle
        public void namelistener(IRequestCycle cycle) { String name = this.getName(); // <-- here is correctly returned value stored in session String nameWithoutSession = this.getNameNoSession(); cycle.activate("Home"); }


      Petr Marek




            • Assignee:
              jkuhnert Jesse Kuhnert
              petrmk Petr Marek
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: