根据@Tarik的评论回答问题。
我将此添加到
faces-config.xml
:
<application>
<resource-handler>my.package.MyResourceHandlerImplementation</resource-handler>
</application>
MyResourceHandlerImplementation
看起来像这样:
import com.sun.faces.application.resource.ResourceHandlerImpl;
public class MyResourceHandlerImplementation extends ResourceHandlerImpl {
@Override
public String getRendererTypeForResourceName(String resourceName) {
if (hasQueryString(resourceName)) {
resourceName = removeQueryString(resourceName);
}
return super.getRendererTypeForResourceName(resourceName);
}
private boolean hasQueryString(String resourceName) {
return resourceName.indexOf('?') != -1;
}
private String removeQueryString(String resourceName) {
return resourceName.substring(0, resourceName.indexOf('?'));
}
}
这就是你做的
@ResourceDependency
支持查询字符串(因此支持缓存破坏)。