Выражение Struts ognl для оценки результата выражения

Это будет немного сложно объяснить. Я пытаюсь написать тег для компоновки нескольких адресных полей, но у меня возникают проблемы с определением выражения 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'.


person Gareth Davis    schedule 12.05.2009    source источник


Ответы (1)


Еще немного исследований и долгое изучение результатов ognl В следующих:

<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{(#attr.name)(#attr)}">
   Address line 1:
   <s:property value="line1"/>
</s:push>

Кажется, у меня получилось.

person Gareth Davis    schedule 12.05.2009