Details
Description
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"/>
</page-specification>
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)
/**
- 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