Получить текущую страницу программно - PullRequest
61 голосов
/ 15 июля 2010

В компоненте поддержки JSF (Управляемый компонент, Weld Bean, не имеет значения) я могу получить контекстный путь, на котором находится клиент, путем вызова

FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();

Это дает мне путь клиента в данный моментдоступы, как /myapplication.Можно ли также получить текущую страницу , например /home.faces, и как?

Ответы [ 4 ]

112 голосов
/ 15 июля 2010

Обычно вы хотите использовать UIViewRoot#getViewId() для этого.

String viewId = facesContext.getViewRoot().getViewId();

Это в EL также доступно следующим образом:

#{view.viewId}

Именно это значение можно использовать повторно в результатах навигации, таких как <h:link outcome> и <h:button outcome>.


Кроме того, вы также можете использовать HttpServletRequest#getRequestURI(), чтобы получить то, что конечный пользователь видит в адресной строке браузера.

String uri = ((HttpServletRequest) externalContext.getRequest()).getRequestURI();

Который в EL также доступен следующим образом:

#{request.requestURI}

Именно это значение можно повторно использовать в <h:outputLink value> или обычном <a href>. Обратите внимание, что вы не можете использовать его как результат навигации.

13 голосов
/ 15 июля 2010

Хорошо, понял, это

FacesContext ctx = FacesContext.getCurrentInstance();
HttpServletRequest servletRequest = (HttpServletRequest) ctx.getExternalContext().getRequest();
// returns something like "/myapplication/home.faces"
String fullURI = servletRequest.getRequestURI();
3 голосов
/ 01 августа 2012
String uri = ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getRequestURI();
0 голосов
/ 17 февраля 2013
 String str = ((HttpServletRequest) FacesContext.getCurrentInstance() 
 .getExternalContext().getRequest()).getRequestURI(); 
 System.out.println(str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...