code: public void setAttribute(String name, String value, String facet)
              throws JspException
      {
          if (name != null) {
              if (name.equals(TYPE)) {
                  String s = Bundle.getString("Tags_AttributeMayNotBeSet", new Object[]{name});
                  registerTagError(s, null);
              }
              else if (name.equals(READONLY)) {
                  _state.readonly = Boolean.valueOf(value).booleanValue();
                  return;
              }
          }
          super.setAttribute(name, value, facet);
      }
docs: Base support for the attribute tag.  This is overridden to prevent setting the <code>type</code>
  attribute.
  @param name  The name of the attribute.  This value may not be null or the empty string.
  @param value The value of the attribute.  This may contain an expression.
  @param facet The name of a facet to which the attribute will be applied.  This is optional.
  @throws JspException A JspException may be thrown if there is an error setting the attribute.