Как получить URL текущей страницы в JSF?

есть ли способ получить URL-адрес загруженной страницы?

Я хотел бы URL страницы, которая загружается, в моем контроллере я вызову метод getUrlOfPage() в методе init ().

Мне нужен источник URL, чтобы использовать его в качестве входных данных для экспорта контекста в нем.

Как получить URL страницы?

1 ответов


это доступно по HttpServletRequest#getRequestURL() (с доменом) или getRequestURI() (без домена). The HttpServletRequest сам в свою очередь доступен по ExternalContext#getRequest().

таким образом, так:

HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String url = request.getRequestURL().toString();
String uri = request.getRequestURI();

или, если ваш bean-это область запроса, то это также возможно:

@ManagedProperty("#{request.requestURL}")
private StringBuffer url; // +setter

@ManagedProperty("#{request.requestURI}")
private String uri; // +setter

см. также