code: public int doStartTag()
              throws JspException {
          ServletRequest req = pageContext.getRequest();
          HashMap atts = (HashMap) req.getAttribute(TEMPLATE_ATTRIBUTES);
          if (atts == null) {
              atts = new HashMap();
              req.setAttribute(TEMPLATE_ATTRIBUTES,atts);
          }
          if (hasErrors()) {
              String s = getErrorsReport();
              atts.put(_name,s);
              localRelease();
              return EVAL_PAGE;
          }
  
          atts.put(_name,_value);
          localRelease();
          return EVAL_PAGE;
      }
docs: Tag Lifecycle method called when the tag is first seen.  This method
  will add the <code>Attribute</code> value to a <code>HashMap</code>
  stored in the request allowing the template to access the value.  If
  there are errors, the error text will be placed into the attribute
  value.  Nothing is written into the <code>ServletResponse</code>
  @return EVAL_PAGE to continue processing the page.
  @throws JspException on error