Thanks Josh, that is what I was looking for.

Joachim

Josh Canfield wrote:
I do something similar to this, but instead of a page I store an Object,
generally a Link:

@Persist
Object returnTo;

So that I can store a page or a link depending on what the calling page
requires. If you generate a link using _resources.createPageLink and don't
provide the last context parameter tapestry will call your page's
onPassivate handler to get the context.

For login I'm using the onActivate pattern. I store a link using the passed
context so that I come right back to where I was:
    @OnEvent("activate")
    public Object onEditorPageActivate(Object[] context) {
        if (!_loginDataExists) {
            Link link = _resources.createPageLink(_resources.getPageName(),
false, context);
            _log.debug("Redirect to login page... " + link);
            _loginPage.setSuccessPage(link);
            return _loginPage;
        }

        return null;
    }
For pages returning after some activity, say an edit form returning to the
list I use an action link so I can set up the next page, here is the
handler:

    public Object onEdit(Long videoId) {
        VideoPick video = _videoDAO.findById(videoId, false);
        if ( video != null ) {
            _editVideoPage.setVideo(video);
            // no context to createPageLink adds current page context to
link
            Link link = _resources.createPageLink(_resources.getPageName(),
false);
            _editVideoPage.setNextPage(link);
            return _editVideoPage;
        }
        // Need to set an error...
        return null;
    }

Hope that helps,
Josh


--
Joachim Van der Auwera
PROGS bvba, progs.be


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

Reply via email to