在 Manning 的书Struts2 in Action第 106 页中,它被提及为
如果您查看图 5.1 中的内容,您可能会认为表达式需要更像
myAction.user.username
. 相反,只有user.username 是必需的。这是因为它ValueStack
是一种虚拟对象,它将其包含的对象的属性公开为自己的。
在同一行中,它还说
如果存在重复的属性——堆栈中的两个对象都有一个 name 属性——那么堆栈中最高对象的属性将是由
ValueStack
.
我的疑问是我们是否可以user.username
按照第一段中的描述使用,那么可以有另一个用户名,但属于不同的类。可以再次使用objectname.user
语法访问它。那为什么他们提到重复属性的问题呢?