В JSF отступающий боб (Управляемый компонент, Боб Сварки, не имеет значения), я могу получить путь контекста, который клиент идет путем вызова
FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();
Это дает мне путь клиент в настоящее время доступы, как /myapplication
. Также возможно получить текущую страницу, как /home.faces
, и как?
Обычно вы хотите использовать UIViewRoot#getViewId()
для этого.
String viewId = facesContext.getViewRoot().getViewId();
В EL это также доступно следующим образом:
#{view.viewId}
Именно это значение можно повторно использовать в таких итогах навигационного случая, как
и
.
В качестве альтернативы можно также использовать HttpServletRequest#getRequestURI()
, чтобы получить все, что конечный пользователь видит в адресной строке браузера.
String uri = ((HttpServletRequest) externalContext.getRequest()).getRequestURI();
Что в EL также доступно следующим образом:
#{request.requestURI}
Именно это значение можно повторно использовать в
или простом . Обратите внимание, что вы не можете использовать его в качестве результата навигационного регистра.
Ок, понял, это
FacesContext ctx = FacesContext.getCurrentInstance();
HttpServletRequest servletRequest = (HttpServletRequest) ctx.getExternalContext().getRequest();
// returns something like "/myapplication/home.faces"
String fullURI = servletRequest.getRequestURI();