DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16749>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16749 Struts EL tag handlers cannot be reused by containers ------- Additional Comments From [EMAIL PROTECTED] 2003-02-04 16:44 ------- Can someone verify for us whether Resin is following the specified process for determining whether a tag can be reused? In the -el tags, the setter for each attribute will be called, then during "doStartTag()", their values will be changed if they reference the EL syntax. The next time the web container has to decide whether to reuse an instance of this tag with the same attribute set, if it unconditionally calls the setters (with values containing the EL expressions), or if it uses the getters to decide whether to call the setters (string comparison), then I think this should work fine. However, if the web container stores the attribute values OUTSIDE of the tag object, and decides to not call the setter if the new value equals the externally stored value (containing the EL expression), or if it inexplicably just decides to never call setters on a reused tag handler, then we'll definitely have a problem. I've scanned over the paragraphs in the spec that talk about this, and Hans' section of his recent article that summarizes these issues, and it's not clear to me what the web container should be doing. In particular, in Hans' article, he says: "If an attribute for the other occurrence has a different value, the corresponding setter method is called, ..." It seems reasonable to me that this comparison should be done by comparing the output from the getter method. Unfortunately, the specification is not even as clear as Hans' statements. There is a little transition diagram that's referenced, but the description seems pretty vague to me. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
