Em Mon, 08 Jun 2009 19:42:14 -0300, Neo Anderson <javadeveloper...@yahoo.co.uk> escreveu:

I run the code and request.getAttribute(USER) returns null in dispatch() function. So I output the Request to see what happens; then notice that they (Request in Login.java Page and AccessController.java) are two difference objects.

That's not what I've asked. Anyway, Tapestry uses proxies a lot, so it is very likely that the two objects are functionally the same.

Now it looks like I can obtain the User data by marking the User object as SessionState in Login.java Page.

public class Login{
...
        @SessionState
        private User user;
...
        Object onSubmitFromLogin(){
                user = new User(...);
        }
}

Then retrieve User object from dispatch() in AccessController.java

public boolean dispatch(Request request, Response response) throws IOException{
                ...
                if(asm.exists(User.class)){
                        User u = asm.get(User.class);
                        ...
                }
        }

However, this rise another question for me - is this a recommended way to obtain a temporary User object (because User object in Login Page is only constructed temporarily and passed to the backend side for verification)?

If you'll need that object in a different request, yes.
Why are you using a dispatcher here? I can't see how a dispatcher would be invoked in the same request after a page was rendered.

Also, how if I have other User object which holds different information (e.g. User object obtained from database), but needs to exist at the same time as that temporarily constructed User object? Will the later override the one that is constructed temporarily (I read Tapestry website saying if I have the same type marked with SessionState annotation, they will use the same reference regardless of their variable name)?

Yes, it will override.

I suggest you to tell use what you're trying to accomplish instead of asking details of how to do it.

--
Thiago H. de Paula Figueiredo
Independent Java consultant, developer, and instructor
http://www.arsmachina.com.br/thiago

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to