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

Reply via email to