Odpowiedzi:
c:out wymyka znaki HTML, dzięki czemu można uniknąć skryptów między witrynami.
Jeśli person.name = <script>alert("Yo")</script>
skrypt zostanie wykonany w drugim przypadku, ale nie podczas używania c:out
Jak powiedział Will Wagner, w starej wersji jsp powinieneś zawsze używać c:outdo generowania dynamicznego tekstu.
Co więcej, używając tej składni:
<c:out value="${person.name}">No name</c:out>
możesz wyświetlić tekst „No name”, gdy nazwa jest pusta.
c:outma również atrybut do przypisywania wartości domyślnej, jeśli wartość person.namejest równa null.
Możesz jawnie włączyć ucieczkę jednostek XML, używając atrybutu wartości escapeXml równej true. FYI, domyślnie jest to „prawda”.
Starsze wersje JSP nie obsługiwały drugiej składni.