title: Get the request URL in a JSF bean?
body: <p>How do you get the request URL in a bean backing a JSF page? I've been looking through the FacesContext docs and the best way I could find seems terribly long:</p>
  
  <pre><code>public String getRequestURL()
  {
      Object request = FacesContext.getCurrentInstance().getExternalContext().getRequest();
      if(request instanceof HttpServletRequest)
      {
              return ((HttpServletRequest) request).getRequestURL().toString();
      }else
      {
          return "";
      }
  }
  </code></pre>
  
  <p><strong>Edit: Functional Requirements</strong> The requirement here is that we need the full URL for a third party javascript utility. The use or architecture of the utility doesn't fit well with JSF, but everything short of this call does. The method I found will work, but it felt wrong to be digging so deep into the FacesContext. Additionally I was hoping there would be a way that could be called with JSF Expression Language since this is going to be used in a "view" related way. </p>