Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีพิมพ์ผลลัพธ์ Java Expression ใน JSP ด้วย <c:out>

Tag <c:out> (JSTL Core) แสดงผลลัพธ์ของ expression คล้าย <%= %> แต่มีข้อได้เปรียบ:

  • ใช้ dot notation เข้าถึง property ได้ง่าย (customer.address.street)
  • Escape XML characters อัตโนมัติ (ป้องกัน XSS)

Attributes

AttributeคำอธิบายRequiredDefault
valueข้อมูลที่จะแสดงYes-
defaultค่า fallback ถ้า value เป็น null/emptyNobody
escapeXmltrue/false - escape XML chars หรือไม่Notrue

ตัวอย่าง

<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head><title><c:out> Example</title></head>
<body>
    <!-- Escape XML tags อัตโนมัติ -->
    <c:out value="${'<tag> , &'}" />
    <br/>
    <!-- ใช้ dot notation -->
    <c:out value="${user.address.city}" />
    <br/>
    <!-- default value -->
    <c:out value="${emptyParam}" default="N/A" />
</body>
</html>

ผลลัพธ์

<tag> , &
Bangkok
N/A

เปรียบเทียบ <c:out> vs <%= %>

คุณสมบัติ<c:out><%= %>
Auto XML escapeใช่ (default)ไม่
Dot notationใช่ (EL)ไม่ (ต้องเขียน Java)
Default valueรองรับ (default attr)ต้องเขียน ternary
Null handlingปลอดภัยพิมพ์ "null"

แนะนำ: ใช้ <c:out> สำหรับแสดงข้อมูลผู้ใช้ (user input) เพื่อป้องกัน XSS