值栈中的对象的不使用#,非值栈中的对象使用#
如果你不理解值栈的作用,简单点理解:当前action,或者处于action链中的action所拥有的属性,并且为该属性提供了getter和setter方法,那么在jsp中就不需要使用#,除此之外需要使用#,那么从这里你就可以知道action的属性如果提供了getter和setter方法,那么这些属性值就会放置到值栈中
这个我们要从很深刻的问题说起。什么是:根--ValueStack(值栈),什么是:StackContext(上下文),什么是:ActionContext;(这个地方,李刚老师的书似乎有点理解偏差,建议查看官方文档。)看完文档,我比较倾向于这个解释。
通过debug查看一下 在debug中能找到的属性就不用#,找不到的用#