Struts2 adds on top of OGNL by providing support for a 'Value Stack'. While OGNL operates under the assumption there is only one "root", XWork's ValueStack concept requires there be many "roots". Have a quick read on OGNL basics.
When referring to non-root objects are accessed with a (#) sign.
Accessing an HTTP Header can be achieved by the following code.
<s:property value="#header.myHeaderPropKey"/> or <s:property value="#header['myHeaderPropKey']"/> or