code: public void setAttribute(String name, String value, String facet)
              throws JspException
      {
          if (name != null) {
              if (name.equals(TYPE) || name.equals(VALUE)) {
                  String s = Bundle.getString("Tags_AttributeMayNotBeSet", new Object[]{name});
                  registerTagError(s, null);
              }
              else {
                  if (name.equals(DISABLED)) {
                      setDisabled(Boolean.parseBoolean(value));
                      return;
                  }
                  else if (name.equals(READONLY)) {
                      _state.readonly = new Boolean(value).booleanValue();
                      return;
                  }
                  else if (name.equals(MAXLENGTH)) {
                      _state.maxlength = Integer.parseInt(value);
                      return;
                  }
                  else if (name.equals(SIZE)) {
                      _state.size = Integer.parseInt(value);
                      return;
                  }
              }
          }
  
          super.setAttribute(name, value, facet);
      }
docs: Base support for the attribute tag.  This is overridden to prevent setting the <code>type</code>,
  and <code>value</code> attributes.
  @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.