I don't think you can say value=null
No, indeed not! If you want to remove something from a scope, use <c:remove />:
In that case it'll remove the attribute called "Fido" from
all scopes (by the semantics of PageContext's removeAttribute method).
Back to your original question, if you use:
The value of the "Fido" page-scoped attribute will be set to "SomethingElse",
overwriting any previous value stored in that attribute. It will only affect the page scope here as you haven't supplied a scope explicitly. <c:set /> operates according to the semantics of PageContext's setAttribute method when no scope is supplied.
Charles Lyons (SCJP 1.4, April 2003; SCJP 5, Dec 2006; SCWCD 1.4b, April 2004)
Author of OCEJWCD Study Companion for Oracle Exam 1Z0-899 (ISBN 0955160340 / Amazon Amazon UK )