有没有办法获取加载页面的URL?
我想要加载的页面的URL,在我的控制器中,我将在init()方法中调用方法getUrlOfPage()。
我需要URL源将其用作输出中的上下文的输入。
如何获取网页的网址?
答案 0 :(得分:22)
可由HttpServletRequest#getRequestURL()
(带域名)或getRequestURI()
(无域名)使用。 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