JSP: тег JSTL
написание страницы JSP, что именно делает <c:out> сделать? Я заметил, что следующие оба имеют одинаковый результат:
<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
5 ответов:
c:outэкранирует HTML-символы, чтобы избежать межсайтовых сценариев.Если
person.name = <script>alert("Yo")</script>скрипт будет выполняться во втором случае, но не при использовании
c:out
Как сказал Уилл Вагнер, в старой версии jsp вы всегда должны использовать
c:outдля вывода динамического текста.более того, используя этот синтаксис:
<c:out value="${person.name}">No name</c:out>вы можете отобразить текст "без имени", когда имя равно null.
c:outтакже имеет атрибут для присвоения значения по умолчанию, если значениеperson.nameоказывается null.