获取与查询字符串URL重写(Get rewritten URL with query string)

2019-11-04 03:19发布

我使用tuckey URL与JSF重写。

我想获得相对URL包括用户看到的参数:如

example.com/mypage?param=test

在如果我做的那一刻

#{view.viewId}

我得到

mypage.xhtml

我想要得到的是:

我的空间?PARAM =测试

Answer 1:

所述UIViewRoot#getViewId()返回JSF视图ID。 您需要使用HttpServletRequest#getRequestURI()获取当前请求的URI和HttpServletRequest#getQueryString()获取当前请求的查询字符串。

#{request.requestURI}#{empty request.queryString ? '' : '?'}#{request.queryString}

或者,如果它是一个转发的请求,把它与键控请求属性RequestDispatcher.FORWARD_REQUEST_URIRequestDispatcher.FORWARD_QUERY_STRING分别为:

#{requestScope['javax.servlet.forward.request_uri']}#{empty requestScope['javax.servlet.forward.query_string'] ? '' : '?'}#{requestScope['javax.servlet.forward.query_string']}

拙是。 考虑在掩藏远<c:set>一个主模板,或效用标签/功能。



文章来源: Get rewritten URL with query string