[英]How to redirect to error page in JSF when FacesContext session attribute is not found
[英]How to redirect a jsf page to home page if session does not exist
我正在創建一個JSF應用程序,該應用程序已在主頁面中嵌入了一個applet。 我的問題是我無法弄清楚如何在將applet加載到主頁之前檢查會話是否存在,並且如果該會話不存在,我想將用戶重定向到主頁
我建議使用過濾器:
public class LoggedFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpSession session = httpServletRequest.getSession(false);
if (session == null) {
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.sendRedirect(httpServletResponse.encodeRedirectURL(httpServletRequest.getContextPath() + "/"));
} else {
chain.doFilter(request, response);
}
}
當然,將此過濾器映射到web.xml
所有JSF頁面:
<filter>
<filter-name>LoggedFilter</filter-name>
<filter-class>LoggedFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoggedFilter</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
(我假設JSF頁面的后綴為xhtml)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.