posted 14 years ago
The "#" character is used when an action context variable is created, for example by an <s:set>, <s:url>, or similar tag. No "#" character is needed when referencing objects on the stack itself. I think of the action context in two ways: the value stack, and another scope (like session or request scopes, but different).
When accessing the action context "scoped" variables we need to use "#", when accessing things on the stack, we don't.