Как объединить 2 переменные класса действий в Struts 2? - PullRequest
0 голосов
/ 23 ноября 2011

В моем классе действий есть 2 переменные, id1 и id2. Вместе с _ они используются в качестве ключа карты.

Я не могу получить значение карты, используя этот код:

<s:property value="%{mymap[id1_id2]}" /> 

Как мне получить значение карты?

1 Ответ

3 голосов
/ 23 ноября 2011

Выражение id1_id2 в OGNL предполагает наличие переменной с именем id1_id2, так как это совершенно допустимый идентификатор.

Если вы хотите объединить строки, вам потребуется:

<s:property value="%{mymap[id1 + '_' + id2]}" />

Я бы, вероятно, создал отдельную переменную для использования в качестве ключа:

<s:set var="mapKey" value="%{id1 + '_' + id2}" />
<s:property value="%{mymap[#mapKey]}" />

Или, более вероятно, я бы сделал это где-нибудь, кроме слоя представления.

...