Hmm,....Are you referencing the same exact page in both instance, ie is it
logically the same page and you're just hoping for a seperate instance?
I've not had an opportunity to do anything fancy like page injection yet to
be honest. Only been using IRequestCycle.getPage(String name), but the
injection method sounds like a much better option.
On 1/30/06, Aj Gregory <[EMAIL PROTECTED]> wrote:
>
> Yep, listener is getting called and watching in debugger shows that
> getTestPage() == "this" instead of getting a new page.
>
> -Aj
>
> Mat Gessel wrote:
> > Your code looks like a typical, valid use case. It would seem that
> > doSubmit() is returning null, causing the originating page to be
> > redisplayed.
> >
> > a) verify that your listener is being called
> > b) verify that getTestPage() is not returning null
> >
> > -= Mat
> >
> > On 1/30/06, Aj Gregory <[EMAIL PROTECTED]> wrote:
> >
> >> Thanks for the suggestion! I gave it a shot but the result was the
> same.
> >>
> >> -Aj
> >>
> >> Jesse Kuhnert wrote:
> >>
> >>> What about using IRequestCycle to set the page instead? Ie
> >>>
> >>> public void doSubmit(IRequestCycle cycle) {
> >>> cycle.activate(getTestPage()); ?
> >>> }
> >>>
> >>> On 1/30/06, Aj Gregory <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> >>>> I have a page which I want to use to display a form and some results
> >>>> after the form is submitted.
> >>>>
> >>>> After the form listener does some work I want to set a value on the
> page
> >>>> and show the same page again. To do this I created a listener on the
> >>>> page class and inject a page of the same type as the current page and
> >>>> set the property that I want:
> >>>>
> >>>> @InjectPage("TestPage")
> >>>> public abstract TestPage getTestPage();
> >>>>
> >>>> public abstract Object getObject();
> >>>> public abstract void setObject(Object o);
> >>>>
> >>>> public IPage doSubmit() {
> >>>> TestPage tp = getTestPage();
> >>>> tp.setObject(...);
> >>>> return tp;
> >>>> }
> >>>>
> >>>> This doesn't work. From what I can tell tapestry doesn't create a
> new
> >>>> instance of the page and instead gets the same instance that it used
> to
> >>>> handle the form submit with all of the values reset. I tried just
> >>>> calling setObject() on the current instance and returning "this" but
> >>>> that doesn't work either.
> >>>>
> >>>> Any suggestions? I'm doing this within a portlet in case that
> matters.
> >>>>
> >>>> Thanks
> >>>> -Aj
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> 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]
> >>
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > 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]
>
>