CombinedResourceHandler excluded resources doesn't recognize resources with query string

201 views Asked by At

I have a couple of CSS files that I don't want to combine, but I also want to bust cache for those resources, so I declared them with:

<h:outputStylesheet name="css/styles.css?version=#{startup.time}" />

It was working fine until I added the CombineResourceHandler. Now the new handler does not recognize the name of the resource, and I cannot use a wildcard to exclude those resources, something like:

<context-param>
    <param-name>org.omnifaces.COMBINED_RESOURCE_HANDLER_EXCLUDED_RESOURCES</param-name>
    <param-value>css/styles.css*</param-value>
</context-param>

If I remove the version parameter I have to do versioning of those files, which is something I would like to avoid.

Any ideas on how to implement this the easiest way?

1

There are 1 answers

0
BalusC On BEST ANSWER

OmniFaces identifies resources by the internal ResourceIdentifier class. It didn't take into account any query strings, path parameters nor path fragments. As per this commit, this has been fixed. The fix is available in today's latest 2.2-SNAPSHOT.

Support for wildcard pattern in excluded (and suppressed) resources context param would be a good candidate for a feature request.