Вопрос
Написание страницы JSP, что именно делает <c:out>
делать?Я заметил, что оба варианта имеют одинаковый результат:
<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
Решение
c: out
экранирует символы HTML, поэтому вы можете избежать межсайтовых сценариев.
if person.name = & script> предупреждение (" Yo ") < / script >
скрипт будет выполнен во втором случае, но не при использовании c: out
Другие советы
Как сказал Уилл Вагнер, в старой версии jsp вы всегда должны использовать c: out
для вывода динамического текста.
Кроме того, используя этот синтаксис:
<c:out value="${person.name}">No name</c:out>
вы можете отобразить текст "Без имени" когда имя равно нулю.
c: out
также имеет атрибут для назначения значения по умолчанию, если значение person.name
равно нулю.
Источник: out (документация, сгенерированная TLDDoc) р>
Вы можете явно включить экранирование сущностей XML, используя значение атрибута escapeXml, равное true.К вашему сведению, по умолчанию это «истина».
Старые версии JSP не поддерживали второй синтаксис.