去除静态资源MyFaces的乐团的“conversationContext”GET参数(CSS,图像)

MyFaces的乐团增添了?conversationContext=x在页面上每个资源。 因为我没有使用谈话范围为我的项目(​​仅适用于管理部分)的公共部分,我想摆脱那个参数的原因有两个:

  • 它打破了静态资源的浏览器缓存
  • 它的丑陋:)

我现在要看看乐团的源代码,并可能绕过一些东西,但它是最好的,如果有一个选项,这个我不知道

--------------解决方案-------------

在回答这个问题很简单,并在同一时间有点变通方法。 MyFaces的管弦乐队大约使用原来的包装HttpServletResponse以便所述编码contesationContext参数。

有使用乐团的两个选择-用一个拦截器(JSF)和一个Filter 。 两者尝试包裹的响应, 如果它不被包裹 。 因此,如果这两个乐团Filter和拦截器被使用,所述Filter来firest,包装了响应对象,并设置在所述请求,其指示到拦截器,它不应再敷响应 ​​的属性。

Filter可以被配置为符合特定URL模式如果conversationContext要添加。 但是,对于我的需求,这种模式匹配太简单了,所以我做了我自己的过滤器代替。 因此,为了告知拦截不换行的反应,一切都必须做的是这样的:

httpRequest.setAttribute(
RequestParameterServletFilter.REQUEST_PARAM_FILTER_CALLED,
Boolean.TRUE);

分类:java的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.228 (s). 10 q(s)