В OGNL вы можете получить доступ к карте, используя "mapName [indexName]", где indexName - это нужный ключ.
например,
<a href="<s:url value='productDocumentationMap[#dependency]'/>">
Я думаю, что это правильный синтаксисдля разрешения 'зависимости' как переменной, а не как строки 'зависимости', но это должно вызвать 'getProductDocumentationMap ()', и, если он возвращает объект Map, попытаться найти значение итератора,Я предполагаю, что вам действительно нужно значение, а не ключ, поскольку ключом является сама «зависимость».
На этой странице приведены некоторые примеры выражений OGNL, которые могут оказаться полезными в качестве ссылки.Половину времени я обнаруживаю, что в итоге играю без скобок,% {} и / или #, пока все не заработает.:-)
http://www.vaannila.com/struts-2/struts-2-example/struts-2-ognl-expression-language-example-1.html
Для вашего дополнительного вопроса:
Я использую это для проверки нулей на предмет простых свойств и включения раздела.Я предполагаю, что это может быть применено к возвращаемым значениям из карт.
<s:if test="%{licenseStatusString != null}">
... something that uses licenseStatusString
</s:if>
<s:else>
... optional thing to include if the license status string is null.
</s:else>
возможно
<s:if test="%{productDocumentationMap[#dependency] != null}">
Попробуйте и посмотрите, работает ли это.Вероятно, некоторая перестановка этого.