Hi all, and thanks for your help in advance.

I wrote a while back to ask if there was a struts tag that could be
used to execute some recursive logic; I was directed to create my own
tag that would accomplish what I would need.

I was successful in creating "standard" tags using the
javax.servlet.jsp.tagext.SimpleTagSupport class to perform recursion.
Use of these tags looked something like:

    <recursor value="myObj"/>
        My value is ${myObj.name}.
        <if test="myObj.child != null"
            <recurse value="myObj.child"/>
        </if>
        Other stuff....
        ....
    </recursor>

and would output something like:

    My value is parent.
    My value is child.
    My value is grandchild.
    Other stuff....
    Other stuff....
    Other stuff....

Since there is a "doTag" method that is used to execute the body, I
was simply able to reference the recursor tag, and call that method
from within the execution of the recurse tag.  This allowed for
recursive processing.

Unfortunately, these recursive values didn't show up on the Struts 2
value stack, meaning within the recursor tag I couldn't reference
these values using other Struts 2 tags.  Because of this, I went about
trying to write Struts 2 compatible recursion tags.  However, while
there seem to be ways to iteratively execute the tags (using the
EVAL_BODY_AGAIN) return value in the doAfterBody() method within
ComponentTagSupport, there doesn't seem to be a way to execute the tag
again from another tag without proceeding through to the end.

Essentially, I think I'm not sure how to approach this, and any help
would be greatly, greatly appreciated.

Thanks.

Anthony N. Frasso
a...@cornell.edu

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to