Из-за одной мелкой, примитивной задачи, чуть не пришлось добавлять очередную либу - JSTL. Задача заключалась в сохранении средствами тагов некоторой переменной, имеющей захардкоданое значение константы, в контекст страницы для последующего использования.
Попытка использовать struts 2 вариант
ни к чему не приводила. Стратс искал объект с именем my_value.
Уже после того как добавил либу JSTL, обнаружил-таки правильный способ сделать это стратсовыми тагами. Делается с использованием OGNL escape sequence (%{expression}):
В дальнейшем для получения значения переменной следует использовать опять OGNL escape sequence:
#attr - означает искать по всем скопам начиная со страницы, далее реквеста, далее сессии и наконец аппликейшна.
Для того, чтобы использовать значение переменной в выражении, например, для булевого условия, пишем:
Попытка использовать struts 2 вариант
<s:set var="my_var" value="my_value"/>
ни к чему не приводила. Стратс искал объект с именем my_value.
Уже после того как добавил либу JSTL, обнаружил-таки правильный способ сделать это стратсовыми тагами. Делается с использованием OGNL escape sequence (%{expression}):
<s:set name="my_var" value="%{'my_value'}" />
В дальнейшем для получения значения переменной следует использовать опять OGNL escape sequence:
<s:property value="%{#attr.my_var}"/>
#attr - означает искать по всем скопам начиная со страницы, далее реквеста, далее сессии и наконец аппликейшна.
Для того, чтобы использовать значение переменной в выражении, например, для булевого условия, пишем:
<s:if test="%{#attr.my_var != 'my_value'}">
something strange!
</s:if>
something strange!
</s:if>
Комментариев нет:
Отправить комментарий