Jsf Prettyfaces执行css、图像和javascript链接

Jsf Prettyfaces执行css、图像和javascript链接,jsf,url-rewriting,prettyfaces,Jsf,Url Rewriting,Prettyfaces,我使用prettyfaces很长一段时间了,我面临着执行url的问题 问题是这样的 我的链接:/示例目标 我的xhtml/desktop/examples.xhtml <url-mapping id="examplePage"> <pattern value="/example-#{exampleBean.filters}"/> <view-id value="/desktop/examples.xhtml"/> </url-mapping>

我使用prettyfaces很长一段时间了,我面临着执行url的问题

问题是这样的

我的链接:/示例目标 我的xhtml/desktop/examples.xhtml

<url-mapping id="examplePage">
  <pattern value="/example-#{exampleBean.filters}"/>
  <view-id value="/desktop/examples.xhtml"/>
</url-mapping>
在控制台中,当我打印requestURI时,输出如下

requestURI/example
requestURI/faces/com.ocpsoft.dynaView.jsf
requestURI/desktop/examples.xhtml
requestURI/javax.faces.resource/primefaces.css.xhtml
requestURI/javax.faces.resource/watermark/watermark.js.xhtml
requestURI/javax.faces.resource/primefaces.js.xhtml
requestURI/javax.faces.resource/jquery/jquery.js.xhtml
requestURI/javax.faces.resource/jquery/jquery-plugins.js.xhtml
requestURI/javax.faces.resource/watermark/watermark.css.xhtml
requestURI/desktop/css/font.css
requestURI/desktop/css/style.css
requestURI/desktop/js/bootstrap.min.js
requestURI/desktop/images/logo.svg
requestURI/desktop/js/scripts.js
requestURI/desktop/js/bootstrap.offcanvas.min.js
requestURI/desktop/images/icons/about-health.svg
requestURI/desktop/images/icons/administrator-dark.svg
requestURI/desktop/fonts/fontawesome-webfont.woff
requestURI/desktop/images/icons/home.svg
requestURI/desktop/images/icons/alphabet-dark.svg
requestURI/desktop/images/icons/stars.svg
requestURI/desktop/images/icons/location.svg
requestURI/desktop/images/icons/logo.svg
requestURI/desktop/images/icons/phone.svg
requestURI/desktop/images/body.svg
requestURI/desktop/images/icons/line.svg
requestURI/desktop/images/icons/buildings.svg
不知何故,我管理这些页面,使其不使用类似于

if (!requestURI.contains(".")){
 // Enters just /example
}
如果我没有在这个部分执行这些图片,css,javascript链接应该在下面的代码中执行/示例页面返回空页面

if (request.getAttribute(RewriteLifecycleContext.LIFECYCLE_CONTEXT_KEY) == null){
        HttpRewriteLifecycleContext context = new HttpRewriteContextImpl(inbound, outbound, listeners, resultHandlers, wrappers, providers);
        request.setAttribute(RewriteLifecycleContext.LIFECYCLE_CONTEXT_KEY, context);
      }

      for (RewriteLifecycleListener<Rewrite> listener : listeners){
        if (listener.handles(event))
          listener.beforeInboundLifecycle(event);
      }

      for (RequestCycleWrapper<ServletRequest, ServletResponse> wrapper : wrappers){
        if (wrapper.handles(event)){
          event.setRequest(wrapper.wrapRequest(event.getRequest(), event.getResponse(), servletContext));
          event.setResponse(wrapper.wrapResponse(event.getRequest(), event.getResponse(), servletContext));
        }
      }

        rewrite(event);
if(request.getAttribute(RewriteLifecycleContext.LIFECYCLE\u CONTEXT\u KEY)==null){
HttpRewriteLifecycleContext上下文=新的HttpRewriteContextImpl(入站、出站、侦听器、ResultHandler、包装器、提供程序);
request.setAttribute(RewriteLifecycleContext.LIFECYCLE\u CONTEXT\u KEY,CONTEXT);
}
for(重写LifecycleListener侦听器:侦听器){
if(listener.handles(事件))
listener.beforeInboundLifecycle(事件);
}
for(RequestCycleWrapper:wrappers){
if(包装器句柄(事件)){
setRequest(wrapper.wrapRequest(event.getRequest(),event.getResponse(),servletContext));
setResponse(wrapper.wrapResponse(event.getRequest(),event.getResponse(),servletContext));
}
}
重写(事件);

如何停止此链接以执行。我只需要一个例子

“处决”是什么意思?PrettyFaces必须处理所有请求,以检查某些规则是否适用。@chkal很抱歉,我不能很好地描述我的问题。用户进入domain.com/example,在prettyfilter类css中,想象javascript链接被处理成不同的链接。它应该只处理/示例链接,但一段代码处理xhtml文件中的所有链接。css,jquery.js,我的问题是如何防止这种情况。为什么xhtml中的所有链接都在Prettyfilter类上处理?在您的示例中,只有以“/example-”开头的请求才会被匹配和处理。你必须小心你的映射。PrettyFaces根据每个HTTP请求匹配模式。所以,如果您的模式将匹配CSS文件,它也将被处理。我想我没有很好地解释,在我的映射文件中没有任何匹配,正如您所说的,它应该只匹配e/example-page。首先是process/example-,然后在xhtml文件中有一个指向js、css、images文件的链接。它匹配了它们,并且匹配了.xhtml。在本例中,它应该只匹配/example(而不是example)和example.xhtml,对吗?但在我的项目中,这两个都有问题。你怎么知道漂亮脸蛋符合这些要求?
if (request.getAttribute(RewriteLifecycleContext.LIFECYCLE_CONTEXT_KEY) == null){
        HttpRewriteLifecycleContext context = new HttpRewriteContextImpl(inbound, outbound, listeners, resultHandlers, wrappers, providers);
        request.setAttribute(RewriteLifecycleContext.LIFECYCLE_CONTEXT_KEY, context);
      }

      for (RewriteLifecycleListener<Rewrite> listener : listeners){
        if (listener.handles(event))
          listener.beforeInboundLifecycle(event);
      }

      for (RequestCycleWrapper<ServletRequest, ServletResponse> wrapper : wrappers){
        if (wrapper.handles(event)){
          event.setRequest(wrapper.wrapRequest(event.getRequest(), event.getResponse(), servletContext));
          event.setResponse(wrapper.wrapResponse(event.getRequest(), event.getResponse(), servletContext));
        }
      }

        rewrite(event);