Jawaban:
c:out lolos dari karakter HTML sehingga Anda dapat menghindari pembuatan skrip lintas situs.
jika person.name = <script>alert("Yo")</script>
skrip akan dieksekusi dalam kasus kedua, tetapi tidak saat menggunakan c:out
Seperti yang dikatakan Will Wagner, di versi lama jsp Anda harus selalu menggunakan c:outuntuk mengeluarkan teks dinamis.
Selain itu, menggunakan sintaks ini:
<c:out value="${person.name}">No name</c:out>
Anda dapat menampilkan teks "Tanpa nama" jika nama kosong.
c:outjuga memiliki atribut untuk menetapkan nilai default jika nilai person.namekebetulan bernilai null.
Anda dapat secara eksplisit mengaktifkan pelolosan entitas Xml dengan menggunakan atribut nilai escapeXml sama dengan true. FYI, itu secara default "benar".
Versi JSP yang lebih lama tidak mendukung sintaks kedua.