这将有点难以解释。我正在尝试编写一个标签来组件化一堆地址字段,但是我在计算 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”的字符串。