当我使用身份验证过滤器时,图像不会加载到 jsf 中
images doesn't load in jsf when i use authentication filter
我使用身份验证过滤器。这是过滤器的一部分:
if (reqURI.indexOf("/index.xhtml") >= 0)
chain.doFilter(request, response);
else
resp.sendRedirect(reqt.getContextPath() + "/JSFViews/Login.xhtml");
并且在 jsf 页面中我有例如图片
<h:graphicImage library="image" name="logo.png" />
但由于过滤器,图像无法加载。我也更改了我的代码
if (reqURI.indexOf("/index.xhtml") >= 0 || reqURI.indexOf("/image") >= 0)
chain.doFilter(request, response);
else
resp.sendRedirect(reqt.getContextPath() + "/JSFViews/Login.xhtml");
但它不起作用。我该怎么办?
您可以更改条件以根据文件扩展名过滤资源。
if (reqURI.indexOf("/index.xhtml") >= 0 || new URI(reqURI).getPath().endsWith(".png"))
chain.doFilter(request, response);
String servletPath = request.getServletPath();
if (servletPath.equals("/JSFViews/index.xhtml") || servletPath.startsWith(ResourceHandler.RESOURCE_IDENTIFIER))
chain.doFilter(request, response);
else
resp.sendRedirect(request.getContextPath() + "/JSFViews/Login.xhtml");
我使用身份验证过滤器。这是过滤器的一部分:
if (reqURI.indexOf("/index.xhtml") >= 0)
chain.doFilter(request, response);
else
resp.sendRedirect(reqt.getContextPath() + "/JSFViews/Login.xhtml");
并且在 jsf 页面中我有例如图片
<h:graphicImage library="image" name="logo.png" />
但由于过滤器,图像无法加载。我也更改了我的代码
if (reqURI.indexOf("/index.xhtml") >= 0 || reqURI.indexOf("/image") >= 0)
chain.doFilter(request, response);
else
resp.sendRedirect(reqt.getContextPath() + "/JSFViews/Login.xhtml");
但它不起作用。我该怎么办?
您可以更改条件以根据文件扩展名过滤资源。
if (reqURI.indexOf("/index.xhtml") >= 0 || new URI(reqURI).getPath().endsWith(".png"))
chain.doFilter(request, response);
String servletPath = request.getServletPath();
if (servletPath.equals("/JSFViews/index.xhtml") || servletPath.startsWith(ResourceHandler.RESOURCE_IDENTIFIER))
chain.doFilter(request, response);
else
resp.sendRedirect(request.getContextPath() + "/JSFViews/Login.xhtml");