Menulis halaman JSP, apa sebenarnya fungsinya <c:out>
? Saya perhatikan bahwa keduanya memiliki hasil yang sama:
<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
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:out
untuk mengeluarkan teks dinamis.Selain itu, menggunakan sintaks ini:
Anda dapat menampilkan teks "Tanpa nama" jika nama kosong.
sumber
c:out
juga memiliki atribut untuk menetapkan nilai default jika nilaiperson.name
kebetulan bernilai null.Sumber: out (TLDDoc Generated Documentation)
sumber
Anda dapat secara eksplisit mengaktifkan pelolosan entitas Xml dengan menggunakan atribut nilai escapeXml sama dengan true. FYI, itu secara default "benar".
sumber
Versi JSP yang lebih lama tidak mendukung sintaks kedua.
sumber