Actually you can get yourself into trouble resetting a tag.
The container is allowed to assume that it and it alone owns the values of the attributes. So let's say that in one instance of the tag you use
xyz="213". If in the next instance you also use the same attribute with the same value, the container is not required to call the setter again. If you have reset the backing variable for the attribute, it will be as if the tag is ignoring the value.
Each container can act differently and still be spec-compliant. So you might get away with something in one, and run into a nightmare if porting to another. Resin, for example, is highly aggressive about optimizing its tag management (one of the reasons that it's so freakin' fast) and won't let you get away with some sloppiness that just may work fine in
Tomcat. (Does this sound like I have the scars to prove it, or not?)
So tread lightly. Your best bet is to assume that the container
owns the attributes and the instance variables that back them up, and keep hands off!
Internal instance variables not exposed to the container are yours to do with as you wish.