See below.... > -----Original Message----- > From: Frederick N. Brier [mailto:[EMAIL PROTECTED] > Sent: Sunday, September 28, 2003 6:22 AM > To: [EMAIL PROTECTED] > Subject: Re: [OS-webwork] ActionTag wipes out own ActionContext > > > Mike, > > I did dig deep, spent 3 hours digging all the way into > DefaultActionInvocation, and saw that the ActionContext was > not handled > symmetrically. I don't like it either. The small patch just > posted should > not break anything. The param tag should work the same. Not > sure why you > think you would lose the parameters. They should be there until the > ActionTag's release() method is called, and the Action (and > its parameters) > will actually be accessible via the ActionContext instead of > self-erasing.
The reason is that when the execute() is called in the doEndTag() you can be sure that all of the params have been set on the Action before it is executed... If execute() is called in doStartTag, none of the <ww:param> tags will be processed before it is executed. > > I am brand new to Webwork, so until I've worked with it for a > while, my > focus is just making it work for my app. My gut reaction > though is that > lastContext, nestedContext (DefaultActionProxy) is a weird > way to implement > a stack state which could probably be easily put in an > ArrayList (stack) > of ActionContext(s) in the ActionContext's ThreadLocal > variable. I need > to learn more about OGNL and all the techniques and places in > which it can > be used in Webwork/XWork, build lots of pages with lots of > tags, most of an > app... Then I'll have some serious comments. > > Fred. The reason this is implemented this way is that ActionContext's are created and set in only the one place... Therefore there can only be the previous ActionContext and the new ActionContext... > > At 05:05 AM 9/28/2003, Michal Mosiewicz wrote: > >I think you have to dig deeper before you try to patch > anything. First > >- > >if you move something from doEndTag to doStartTag you'll > loose parameters > >passed to the tag. I think it's processed in doEndTag by purpose. > > > >If you dig deeper you will notice that creating new action context > >doesn't > >mean always destroying the stack. > > > >Third thing you will notice is that it's not ActionProxy that puts > >Action > >onto the stack, it's actually ActionInvocation instance and > for symetry it > >should be responsible for popping the stack. > > > >Final thing - I've already submitted a solution to Pat and Jason that > >makes ActionTag to builtup onto existing stack, not create a > new one. I > >also don't like the way ActionTag works, but for other reason. > > > >-- Mike > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Opensymphony-webwork mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork