JSP: тег JSTL <c: out> Написание страницы JSP, что именно делает <c:out>? Я заметил, что следующие обе имеют одинаковый результат: <p>The person name is <c:out value="${person.name}" /></p> <p>The person name is ${person.name}</p> Ответ 1 c:out удаляет символы HTML, чтобы избежать межсайтового скриптинга. если person.name = <script>alert("Yo")</script> script будет выполняться во втором случае, но не при использовании c:out Ответ 2 Как сказал Уилл Вагнер, в старой версии jsp вы всегда должны использовать c:out для вывода динамического текста. Кроме того, используя этот синтаксис: <c:out value="${person.name}">No name</c:out> вы можете отобразить текст "Нет имени", когда имя равно null. Ответ 3 c:out также имеет атрибут для назначения значения по умолчанию, если значение person.name имеет значение null. Источник: out (TLDDoc сгенерированная документация) Ответ 4 Вы можете явно активировать экранирование объектов XML, используя значение атрибута escapeXml равно true. FYI, он по умолчанию "true". Ответ 5 Старые версии JSP не поддерживают второй синтаксис.
Ответ 1 c:out удаляет символы HTML, чтобы избежать межсайтового скриптинга. если person.name = <script>alert("Yo")</script> script будет выполняться во втором случае, но не при использовании c:out
Ответ 2 Как сказал Уилл Вагнер, в старой версии jsp вы всегда должны использовать c:out для вывода динамического текста. Кроме того, используя этот синтаксис: <c:out value="${person.name}">No name</c:out> вы можете отобразить текст "Нет имени", когда имя равно null.
Ответ 3 c:out также имеет атрибут для назначения значения по умолчанию, если значение person.name имеет значение null. Источник: out (TLDDoc сгенерированная документация)
Ответ 4 Вы можете явно активировать экранирование объектов XML, используя значение атрибута escapeXml равно true. FYI, он по умолчанию "true".