如何在JSF中启用浏览器缓存

3

我使用JSF 2.0创建了一个Web应用程序。我的朋友给了我反馈,说我应该做“浏览器缓存”,因为我有很多图片。

但是我不知道如何在JSF中实现相同的功能。有任何想法/提示将不胜感激。

也可以提供所需操作的概念。

1个回答

7
只需使用<h:graphicImage name="...">而不是<img src="...">。这样,JSF默认的资源处理器将指示浏览器默认缓存它们1周,这可以通过实现相关上下文参数进行配置,在Mojarra的情况下如下:
<context-param>
    <param-name>com.sun.faces.defaultResourceMaxAge</param-name>
    <param-value>3628800000</param-value> <!-- 6 weeks -->  
</context-param>

注意,使用<h:outputScript><h:outputStylesheet>代替<script><link rel="stylesheet">时同样适用。

1
那么你的朋友不知道他在说什么 :) 一周只是很短的时间,有些过于热衷于Web应用性能测试的工具可能会发出警告。将其增加到两周左右。或者自己进行测试和微调,例如http://developer.yahoo.com/yslow/ - BalusC
谢谢,SO时间结束后我会接受答案。我讨厌SO的这个功能...必须等待才能接受答案... - user1203613

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接