как да получите URL адрес на страница в jsp
Задача Вземете URL адреса на текущата страница с помощта на JSP
Решение За да получите URL адреса, първо трябва да получите препратка към текущия обект на HTTP заявка (javax.servlet.http.HttpServletRequest). След като обектът на заявката бъде получен, методътgetRequestURL() трябва да бъде извикан към него, който ще върне URL адреса на заявката.
Ако използваме скриптлети, тогава JSP има косвен обект на заявкаrequest. Извеждането на информация се осъществява чрез друг скрит JSP обектout, който съответства на типа javax.servlet.jsp.JspWriter и се използва за запис на данни в отговора на сървъра
Ако искаме да получим и покажем информация, използвайки езика на JSP изрази (JSP EL ), тогава няма имплицитен обект на заявка (заявка), вместо това има обект на контекст на страницаpageContext, който осигурява достъп до всички необходими обекти на сървлет (заявка, отговор, сесия и т.н.)
Когато се използва езикът за израз JSP, данните незабавно се записват в изходния поток на отговора на сървъра
Трябва да се отбележи, че получената стойност ще покаже точно URL адреса на текущата JSP страница, например
По този начин, ако се използва някаква уеб рамка (Struts, SpringMVC и т.н.), тогава този URL може да не съвпада с URL адреса, въведен от потребителя в браузъра, т.к. рамките обикновено изпращат и пренасочват заявки в приложението към съответните страници. В този случай получаването на URL трябва да се извърши в кода на класовете на контролера на тази рамка или можете да инсталирате сервлет филтър на входящите заявки и да дефинирате URL адреса в него: