Mình đã hướng dẫn các bạn cách lấy base URL trong Controller của Spring MVC và Spring Boot application. Để làm được điều này trong trang JSP, chúng ta sẽ cần sử dụng đối tượng pageContext của Java Servlet.
Nói nôm na về đối tượng pageContext này thì nó là một đối tượng ẩn của class javax.servlet.jsp.PageContext, được sử dụng là đại diện cho toàn bộ trang JSP. Chúng ta có thể lấy đối tượng của class HttpServletRequest từ đối tượng pageContext này và từ đó chúng ta sẽ lấy được thông tin base URL.
Các bạn hãy xem đoạn code sau:
1 2 3 4 5 6 7 |
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set var="scheme" value="${pageContext.request.scheme}"/> <c:set var="serverName" value="${pageContext.request.serverName}"/> <c:set var="serverPort" value="${pageContext.request.serverPort}"/> Base URL: ${scheme}://${serverName}:${serverPort} |
Rất đơn giản, dễ hiểu phải không các bạn?
Kết quả: