The %
character forces OGNL evaluation, so <s:property name="%{foo}"/>
will query the stack for a foo
property. It's not always required (rarely, in fact), but it's easier to use it consistently for clarity.
The #
character accesses a named value stack context variable, for example, you used to need it to access a variable created using the <s:set>
tag. You need it to access things like a session variable, like <s:property name="#session.user.name"/>
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…