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

StackOverflow https://stackoverflow.com/questions/853569

  •  21-08-2019
  •  | 
  •  

Вопрос

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

Кажется, это сработало.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top