Jason,

This is not how Resin works, not it is mandated by the spec.  Tags *ca*
be reused, without having to reset the parameters. (Don't assume
anything).

So you can not assume that your params are reset.

Cheers,
Scott

On Sun, Sep 14, 2003 at 08:44:21PM -0500, Jason Carreira wrote:
> The decision point for whether a tag instance can be reused is if the
> values for the optional attribute set are the same (same set of keys and
> same values for those keys), so I'm pretty sure it's setting all of the
> properties on the tag instance before reusing it (since it can assume
> the values of the required attributes will be overwritten by new values.
> 
> So I think it would be more like this:
> 
> Tag tag = new Tag();
> tag.setParamA("abc");
> tag.setParamB("xyz");
> 
> tag.doStartTag();
> tag.doEndTag(); //first tag instance
> 
> tag.setParamA("abc");
> tag.setParamB("xyz");
> 
> tag.doStartTag();
> tag.doEndTag(); //second tag instance
> 
> > -----Original Message-----
> > From: Scott Farquhar [mailto:[EMAIL PROTECTED] 
> > Sent: Sunday, September 14, 2003 8:32 PM
> > To: Matt Ho
> > Cc: [EMAIL PROTECTED]
> > Subject: [OS-webwork] Re: clearing out tag values
> > 
> > 
> > Matt,
> > 
> > (copying webwork list - I think that they might be interested)
> > 
> > On Sun, Sep 14, 2003 at 04:05:14PM -0700, Matt Ho wrote:
> > > Heya Scott,
> > > 
> > > We've bounced this one around a couple times and I'd like to get it
> > > resolved.  My understanding based on the Jakarta guide and 
> > your comments 
> > > is that JSP tag fields should be cleared out in the 
> > doStartTag() method? 
> > >   Is this accurate or do you mean something else?
> > 
> > Well - all JSP tag properties should be simple setters / 
> > getters, and never modified after being set.
> > 
> > Anything that needs to be evaluated should be evaluated/set 
> > to null in doStartTag().  This evaluation should not affect 
> > the original setters / getters.
> > 
> > Nothing should be 'reset' anywhere.  If we were using 
> > database connections, we would release those in the release() 
> > method.  However, as the release() method is only guaranteed 
> > to be called before garbage collection, there isn't much 
> > point doing anything else here.
> > 
> > The reason for all this is that tags can be reused, without 
> > resetting the setter values.  So if I have 
> > 
> > <ww:tag paramA="abc" paramB="xyz" />
> > <ww:tag paramA="abc" paramB="xyz" />
> > 
> > Then the code behind this is like:
> > 
> > Tag tag = new Tag();
> > tag.setParamA("abc");
> > tag.setParamB("xyz");
> > 
> > tag.doStartTag();
> > tag.doEndTag(); //first tag instance
> > 
> > tag.doStartTag();
> > tag.doEndTag(); //second tag instance
> > 
> > 
> > This is the way that it works on resin, which is why you 
> > occasionally see the second tag on a page behaving strangely.
> > 
> > So - all the tags should behave like the above.
> > 
> > Let me know where you need a hand.  We don't use the taglib 
> > in ww2 (we use velocity), but I can review the code if you 
> > need.  Check ww1 for examples of tags that I have rewritten properly.
> > 
> > Cheers,
> > Scott
> > 
> > 
> > -------------------------------------------------------
> > 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


-------------------------------------------------------
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

Reply via email to