as for as EL concerned ,
{implicitObject.property} or {attribute.property}
EL first check whether this is a implicit Object , if yes evaluate with implicit object property or this is page/request/session/application Attribute , if yes evaluate with that attributes property.
so , pageContext is a Implicit Object .so it is printing the Object name.
and also, while setting the attribute key value is just a
string , key value of the setAttribute method is not validated by the container.so it
wont throw exception like pageContext is a already defined implicit Object.
Hope this helps.