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.