これを説明するのは少し難しいでしょう。多数の住所フィールドをコンポーネント化するタグを作成しようとしていますが、ognl 式をうまく処理できません。
予想される使用法:
member.address は Address オブジェクトにマップされます (切り抜きすぎではありません)。
私のタグ(最も単純なバージョン):
<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{#attr.name}">
Address line 1:
<s:property value="line1"/>
</s:push>
問題は、<s:push value="%{#attr.name}"/>
実際には member.address の結果をスタックにプッシュしているのではなく、代わりに値「member.address」の文字列をプッシュしているだけだと思います。