[OmniFaces utilities] The
getRequestURIWithQueryString()
method returns the HTTP request URI with query string. This is the part after the domain in the request URL, including the leading slash and the request query string.Method:
OmniFaces 2.4 (uses Servlets.getRequestURI() and Servlets.getRequestQueryString()) | OmniFaces 2.0 |
Usage:
· inside a servlet filter or even a plain vanilla servlet (basically, when FacesContext is not available):
import
org.omnifaces.util.Servlets;
...
@WebServlet("/MyServlet")
public class
MyServlet extends HttpServlet {
protected void
processRequest(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// e.g.
/MyApp/MyServlet?tech=JSF&lib=OmniFaces
String requestURI = Servlets.getRequestURIWithQueryString(request);
}
...
}
·
in JSF, when FacesContext is
available use, Faces#getRequestURIWithQueryString(), or
more clumsy (not recommended):
import
org.omnifaces.util.Servlets;
...
// or simply
use, Faces#getRequest()
Faces
Context context = FacesContext.getCurrentInstance();
ExternalContext
externalContext = context.getExternalContext();
HttpServletRequest
request = (HttpServletRequest) externalContext.getRequest();
// e.g. /MyApp/faces/index.xhtml?tech=JSF&lib=OmniFaces
// Note: in
order to preserve the query
parameters over a JSF POST you may need, <o:formincludeRequestParams="true">
String requestURI =
Servlets.getRequestURIWithQueryString(request);
Niciun comentariu :
Trimiteți un comentariu