On Tue, 4 Feb 2003 [EMAIL PROTECTED] wrote:
> > Struts EL tag handlers cannot be reused by containers > It sounds like these tags definitely have a problem. There's been some recent discussion on TOMCAT-USER about designing tags that work reusably as well. The bottom line: * The container can reuse instances of tag handlers when it sees that exactly the same set of attributes is used (not necessarily the same values). * This kind of reuse can happen whether or not the container implements "tag pooling". * When a tag handler instance is reused, the JSP page compiler can decide if it has already set a particular property on that instance, and omit the second set call. For example, in: <foo:bar a="1" b="2/> <foo:bar a="1" b="3"/> The second setA() call can be omitted, since the container knows that it already called setA("1") the first time. * If a tag instance is going to be reused, the doEndTag() call on the first use is going to be followed by the doStartTag() call of the second use. Any per-use cleanup activity needs to happen at the end of doEndTag(). * The net effect of all this is an important restriction -- it's not legal for a tag handler to modify the values stored by the setter calls from the page, *anywhere* in the path from doStartTag() through doEndTag(). * The container will call release() after it has used the instance for the last time. Craig --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]