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.
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)? >From my viewpoint, it seems to me that if I have similar situation, then I >will put too many temporary objects into Session. 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)? Thanks for advice, I really appreciate it. --- On Mon, 8/6/09, Thiago H. de Paula Figueiredo <thiag...@gmail.com> wrote: > From: Thiago H. de Paula Figueiredo <thiag...@gmail.com> > Subject: Re: Obtain the data inside RequestGlobals question > To: "Tapestry users" <users@tapestry.apache.org> > Date: Monday, 8 June, 2009, 9:49 PM > Em Mon, 08 Jun 2009 18:40:42 -0300, > Neo Anderson <javadeveloper...@yahoo.co.uk> > escreveu: > > > What way is the correct method to set data in the > Request object in Page and retrieve it back from dispatch > function? > > Have you really tested the result of that code instead of > just comparing the two Request instances? > > By the way, unless your Tapestry code is inside an > application that uses another framework (thus you need to > read or write info in the session so the other framework car > access it), use the ApplicationStateManager service > instead. > > --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 > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org