マニングの本Struts2 in Action page 106では、次のように言及されています
これを図 5.1 で見ると、式はもっと のようなものにする必要があると思うかもしれません
myAction.user.username
。逆に、必要なのは user.username だけです。これは、ValueStack
が含まれているオブジェクトのプロパティを独自のものとして公開する一種の仮想オブジェクトであるためです。
そして同じ行でそれはまた言います
重複するプロパティが存在する場合 (スタック内の 2 つのオブジェクトが両方とも name プロパティを持っている場合)、スタック内の最上位のオブジェクトのプロパティが、 で表される仮想オブジェクトで公開されるプロパティになります
ValueStack
。
最初の段落で説明したように使用できるかどうかは疑問ですがuser.username
、クラスは異なるが別のユーザー名が存在する可能性があります。これも構文でアクセスできobjectname.user
ます。では、なぜ彼らは重複したプロパティの問題に言及しているのでしょうか?