Called by the container to invoke this tag. The implementation of this method is provided by the tag library developer, and handles all tag processing, body iteration, etc.
The JSP container will resynchronize any AT_BEGIN and AT_END variables (defined by the associated tag file, TagExtraInfo, or TLD) after the invocation of doTag().
@throws javax.servlet.jsp.JspException If an error occurred while processing this tag.
@throws javax.servlet.jsp.SkipPageException If the page that(either directly or indirectly) invoked this tag is to cease evaluation. A Simple Tag EventHandler generated from a tag file must throw this exception if an invoked Classic Tag EventHandler returned SKIP_PAGE or if an invoked Simple Tag EventHandler threw SkipPageException or if an invoked Jsp Fragment threw a SkipPageException.
@throws java.io.IOException If there was an error writing to theoutput stream.