Вопрос

Написание страницы 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 не поддерживали второй синтаксис.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top