The features of this ResourceHandler include the following:
- relative paths between resources (css files referencing images
without using #resource['..'])
- caching resources in the client (disabled if ProjectStage == Development)
- GZIP compression and local cache in tmp dir (disabled if
ProjectStage == Development)
- i18n (supporting country code and language).
In addition, it does NOT support ValueExpressions in resource files
for performance reasons.
The most important feature, in my opinion, is how the resource URL is
built, e.g. /faces/javax.faces.resource/de_AT/$/some/library/$/my/resource.css
... because it permits resources referencing other resources without
(e.g. css files referencing images or other css
files). With the standard ResourceHandler this is 1) annoying if you
have to change the files you get from your designer and 2) a
performance bottleneck, because resources with ValueExpressions are
not cached and also regenerated for each request.
Furthermore, the resource URL contains the locale and thus you have no
problems with cached resources if a users changes the locale, because
he/she will get a new URL and thus a new resource (the right one).