Tag <c:param> ใช้เพิ่ม query parameter ให้ URL พร้อม URL encoding อัตโนมัติ ใช้ร่วมกับ <c:url> หรือ <c:redirect> หรือ <c:import>
Attributes
| Attribute | คำอธิบาย | Required | Default |
|---|---|---|---|
| name | ชื่อพารามิเตอร์ | Yes | - |
| value | ค่าพารามิเตอร์ | No | Body content |
ตัวอย่างกับ <c:url>
<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<c:url value="/index.jsp" var="myURL">
<c:param name="trackingId" value="1234"/>
<c:param name="reportType" value="summary"/>
</c:url>
<c:import url="${myURL}"/>
ผลลัพธ์ URL
/myapp/index.jsp?trackingId=1234&reportType=summary;jsessionid=ABC123
จุดสำคัญ
- Encoding อัตโนมัติ: space →
+หรือ%20, special chars →%XX - สามารถใช้ EL expressions ใน value:
value="${user.id}" - Body content เป็น value ได้:
<c:param name="x">${complexValue}</c:param> - หลาย
<c:param>จะต่อกันด้วย&
กรณีใช้งาน
- สร้าง link พร้อม parameters dynamic
- ส่ง parameters ให้
<c:import>(include remote resource) - Build redirect URL พร้อม parameters
- Pagination links, search filters, sorting
ตัวอย่าง Pagination
<c:url value="/products" var="pageUrl">
<c:param name="page" value="${pageNum}"/>
<c:param name="size" value="20"/>
<c:param name="sort" value="${sortField}"/>
</c:url>
<a href="${pageUrl}">Page ${pageNum}</a>