在JSF中,如何获取真正的请求URL

时间:2016-01-26 09:50:35

标签: jsf request

大家:

我正在使用jsf来完成我的工作。现在我想过滤一些请求,所以我需要在我的过滤器中获取真实的请求网址。

但我不知道如何获取真实的请求网址,例如,有一个" commandlink"在我的test.xhtml页面中有一个action ="#{backBean.test},现在我想过滤方法测试,我怎么才能实现它?

我试图用HttpServletRequest获取请求URL,但我刚刚得到了" test.xhtml"和faild得到测试方法...

以下代码是我的过滤器的一部分:

public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest)request;
    HttpServletResponse resp = (HttpServletResponse)response;
    String reqUrl = req.getRequestURI();
    String willFilterUrl = reqUrl.substring(reqUrl.lastIndexOf("/") + 1, reqUrl.length());
    String contextPath = req.getContextPath();
    if("order_confirm.xhtml".equals(willFilterUrl)) {
        resp.sendRedirect(contextPath + "/pause_1.xhtml");
        return;
    }
    chain.doFilter(req, resp);
}

非常感谢!

0 个答案:

没有答案