如何在JSF中获取当前页面的URL?

09Q*_*534 11 url jsf jsf-2

有没有办法获取加载的页面的URL?

我想要加载的页面的URL,在我的控制器中我将在init()方法中调用方法getUrlOfPage().

我需要URL源将其用作输出中的上下文的输入.

如何获取页面的URL?

Bal*_*usC 26

它可以通过HttpServletRequest#getRequestURL()(带域名)或getRequestURI()(没有域名)获得.它HttpServletRequest本身也可以通过ExternalContext#getRequest().

因此,所以:

HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String url = request.getRequestURL().toString();
String uri = request.getRequestURI();
Run Code Online (Sandbox Code Playgroud)

或者,如果您的bean是请求作用域,那么这也是可能的:

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

@ManagedProperty("#{request.requestURI}")
private String uri; // +setter
Run Code Online (Sandbox Code Playgroud)

也可以看看