У меня есть хэш-карта, созданная на странице с помощью тега struts2 <s:set>
.Это выглядит примерно так:
<s:set var="mymap" value="#request.mymap"/>
В какой-то момент страницы мне нужно получить значение из хэш-карты на основе ключа, и я хочу сделать это с помощью OGNL.
Ключ генерируется на основе некоторой логики, которую я храню с использованием другого тега <s:set>
.Примерно так:
<s:set var="mykey" value="1">
Мне нужно получить значение из хэш-карты, используя этот ключ.И мне нужно показать это.
Как мне просто вызвать функцию get на хэш-карте?
Я пробовал это
<s:property value="#mymap[#mykey]"/>
и это
<s:property value="#mymap[%{#mykey}]"/>
и это
<s:property value="%{#mymap[%{#mykey}}]"/>
Третий, очевидно, не работает из-запроблема вложения.
Но та же логика вложения применима и ко второму случаю из-за способа обработки атрибута значения.Однако ни один, кажется, не работает для меня.
Проблема в том, что мой ключ неизвестен.Это динамически генерируемая строка, основанная на некотором шаблоне.Мне нужно получить доступ к объекту, хранящемуся в хэш-карте, используя этот динамический ключ.И из-за невозможности вложенности ognl я исправляю.
Полагаю, проблема очень проста.Я почти чувствую, что я это понимаю, но каким-то образом решение ускользает от меня.