code: public void doTag()
              throws JspException
      {
          // report error if there are any
          if (hasErrors()) {
              reportErrors();
              return;
          }
  
          PageContext pageContext = getPageContext();
          ServletContainerAdapter sa = AdapterManager.getServletContainerAdapter(pageContext.getServletContext());
          ServletRequest request = pageContext.getRequest();
          assert(sa != null);
  
          // check to see if we are supposed to report the error
          boolean prodMode = sa.isInProductionMode();
          if (prodMode && !_alwaysReport)
              return;
  
          LinkedHashMap map = (LinkedHashMap)
                  InternalUtils.getBindingUpdateErrors(request);
  
          if (map == null)
              return;
  
          if (_expression != null) {
              String expr = "{" + _expression + "}";
              BindingUpdateError err = (BindingUpdateError) map.get(expr);
              if (err != null) {
                  Throwable cause = err.getCause();
                  String msg = (cause != null) ? cause.getMessage() : err.getMessage();
                  String s = Bundle.getString("Tags_BindingUpdateError", new Object[]{_expression, msg});
                  registerTagError(s, null);
                  reportErrors();
              }
              return;
          }
  
          Iterator it = map.values().iterator();
          while (it.hasNext()) {
              BindingUpdateError err = (BindingUpdateError) it.next();
              Throwable cause = err.getCause();
              String msg = (cause != null) ? cause.getMessage() : err.getMessage();
              String s = Bundle.getString("Tags_BindingUpdateError", new Object[]{err.getExpression(), msg});
              registerTagError(s, null);
          }
          reportErrors();
      }
docs: Render the specified error messages if there are any.
  @throws JspException if a JSP exception has occurred