Ну, є два способи легшого доступу до цих даних, але інтерфейс не пропонує можливість отримати всю URL-адресу за допомогою одного дзвінка. Ви повинні побудувати його вручну:
public static String makeUrl(HttpServletRequest request)
{
return request.getRequestURL().toString() + "?" + request.getQueryString();
}
Я не знаю про спосіб зробити це з будь-якими засобами Spring MVC.
Якщо ви хочете отримати доступ до поточного запиту, не передаючи його скрізь, вам доведеться додати слухача в web.xml:
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
А потім використовуйте це, щоб отримати запит, прив’язаний до поточної теми:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest()
HttpServletRequest
об’єкт. Це тому, що я використовую кілька допоміжних класів / методів, і я не хочу передавати об'єкт запиту щоразу.