Hi Daniel,
thanks for the help!

Daniel Tabuenca wrote:
The Chart example the plotValues property is persisted:

<page-specification class="org.apache.tapestry.workbench.chart.ChartPage">

 <property name="plotValues" persist="session"/>

.......


I am assuming you are not persisting since from your logs:

9627410 [btpool0-3] INFO  com.example.pages.Home  - Begin render.
Rewind? true
9627411 [btpool0-3] INFO com.example.pages.Home - Initializing names list

It's true, I wasn't persisting them. To be ultra-simplistic I've done this by storing them back in a static field: -

Home.java:
...
   public static List<String> NAMES = new ArrayList<String>();
   public void pageBeginRender(PageEvent event) {
LOG.info("Begin render. Rewind? " + getRequestCycle().isRewinding() +". Names: "+ getNames());
       LOG.info("Initializing names list to "+ NAMES);
       setNames(NAMES);
   }

   public void submit() {
       LOG.info("Submitted. List is: " + getNames());
       NAMES = getNames();
   }

   public void add() {
       LOG.info("Adding a blank name to " + getNames());
       List<String> nms = getNames();
       nms.add("");
       setNames(nms);
   }
...


Unfortunately that doesn't seem to be at the heart of the problem - the list now grows as desired when the 'add' listener is called, but the values in the list aren't changed. It looks like the form values aren't correctly set after the rewind, e.g. in the log excerpt below I'd be expecting to see the (non-blank) form values in the message at the highlighted point: -

INFO  com.example.pages.Home  - Begin render. Rewind? true.  Names: null
INFO  com.example.pages.Home  - Initializing names list to [, , ]
--> INFO  com.example.pages.Home  - Submitted. List is: [, , ] <--
INFO  com.example.pages.Home  - Begin render. Rewind? false. Names: [, , ]
INFO  com.example.pages.Home  - Initializing names list to [, , ]

Eventually I'm going to be saving the values in RDF - the values won't have a persistent key, they're just literal values. I'm also keen to avoid using any session persistence but will do if it's necessary. Can tapestry deal with simple values that don't have identity in this way?

Thanks,

jim



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to