Что такое версия ‹c:set› для JSP 2?

Как я могу установить значение с помощью JSP 2?

Я имею в виду, если ${val} — это новая версия <c:out value="${val}" />, что такое версия <c:set var="val" value="bla" /> для JSP 2?


person user0912    schedule 20.09.2010    source источник


Ответы (1)


Я думаю, вы запутались. ${val} не новая версия <c:out value="${val}" />. Оба являются операторами языка выражений (EL).*

В JSP 2 вы все еще используете <c:set var="val" value="bla" />.

http://en.wikipedia.org/wiki/JavaServer_Pages#JSP_2.0

*Хорошо, ладно, ${val} является оператором EL, а <c:out value="${val}" /> – это тег JSTL, который использует выражение EL.


Раздел JSP 2 статьи Википедии содержит части, дословно скопированные из здесь.

person Matt Ball    schedule 20.09.2010
comment
Что тогда предлагает JSP 2? Только ярлык для ‹c:out value=${val} /›? Я знаю, что теперь могу написать ${val}, и он оценивается на месте, а не с помощью тега c:out. Это единственное изменение? - person user0912; 20.09.2010
comment
Это не обязательно ярлык. JSP2 только что начал поддерживать EL в тексте шаблона. До JSP2 EL оценивался только в атрибутах тегов. Кстати, <c:out> делает еще одну вещь: экранирует объекты XML. Таким образом, EL в тексте шаблона делает то же самое, что и <c:out value="${foo}" escapeXml="false" />. Также обратите внимание, что JSTL не следует путать с EL. - person BalusC; 20.09.2010
comment
Является ли экранирование <c:out> XML эквивалентным функции ${fn:escapeXML(foo)} JSTL? - person jbindel; 21.09.2010