Có hai phương pháp để truy cập dữ liệu này dễ dàng hơn, nhưng giao diện không cung cấp khả năng lấy toàn bộ URL bằng một lần gọi. Bạn phải xây dựng nó theo cách thủ công:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Tôi không biết về cách thực hiện việc này với bất kỳ cơ sở Spring MVC nào.
Nếu bạn muốn truy cập Yêu cầu hiện tại mà không chuyển nó đến mọi nơi, bạn sẽ phải thêm trình lắng nghe trong web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
Và sau đó sử dụng điều này để nhận yêu cầu liên kết với Chủ đề hiện tại:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
đối tượng. Điều này là do tôi đang sử dụng một số lớp / phương thức trợ giúp và tôi không muốn chuyển đối tượng yêu cầu mỗi lần.