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'.
Решение
Ещё немного исследований и долгое время разглядывание документация огнл приводит к следующему:
<%@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>
Кажется, это сработало.
Не связан с StackOverflow