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

           Summary: Struts EL tag handlers cannot be reused by containers
           Product: Struts
           Version: 1.1 Beta 3
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Custom Tags
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Struts EL tags appear to be written with a pattern in 
which the expressions are evaluated at the start of the 
doStartTag method and the values of the tag attributes
are overwritten with the evaluated expression values.

This violates the requirement that tag handlers leave
the values set by the attribute setters unchanged in 
case the container chooses to reuse the handler in the same
context without calling the setters again.

We have seen that in a page where the <html:link> and 
<bean:message> tags in their EL versions are being used in 
a <c:forEach> loop, our container (Resin 2.1.6) reuses the
same tag handler without calling the setters on each loop
iteration.  This exposes the expected problem, as on the 
second and subsequent iterations, the attribute value is
set to the result of the expression evaluation on the first
iteration and so no longer contains an EL expression.  The
first iteration result is then returned for every iteration,
even though the expression evaluated differently on every
iteration.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to