链接没有重定向

时间:2015-03-29 17:27:10

标签: jsf

我喜欢为我的apptication实现注册页面。首先,我定义了一个authenticationfilter,它将每个erquest重定向到我的login.xhtml,当没有设置用户或者requesttet页面不在public

之下时
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession ses = req.getSession(false);
// Proceed if user is logged in or its a public page
String requestURI = req.getRequestURI();
if (requestURI.indexOf("/login.xhtml") >= 0 
    || (ses != null && ses.getAttribute("username") != null)
    || requestURI.indexOf("/public/") >= 0)
  chain.doFilter(request, response);
else {
  res.sendRedirect(req.getContextPath() + "/login.xhtml");
}

在我的登录页面上,我有一个指向/ public / signup

的链接
<h:link value="Signup"  oncklick="/public/signup.xhtml"/>

当我调试时,我发现可以看到AuthenticationFilter中的requestURI是:http://localhost:8080/appname/login.xhtml 但我期待http://localhost:8080/appname/public/signup.xhtml

我做错了什么?

1 个答案:

答案 0 :(得分:1)

&#34;的结果&#34; h:link的属性用于指定目标资源。

更新您的h:link,如下所示:

<h:link value="Signup"  outcome="/public/signup.xhtml"/>