据我了解,JSF 2资源的需求在于帮助组织资源目录并添加一些版本控制和本地化处理。
但是能否将这个特性与CDN结合使用呢?我之前从未使用过CDN,但看起来不错,希望听听您对此的想法以及可能的JSF 2资源与CDN的结合方式,尽管我认为这不太可能。
据我了解,JSF 2资源的需求在于帮助组织资源目录并添加一些版本控制和本地化处理。
但是能否将这个特性与CDN结合使用呢?我之前从未使用过CDN,但看起来不错,希望听听您对此的想法以及可能的JSF 2资源与CDN的结合方式,尽管我认为这不太可能。
目前,<h:outputScript>
和 <h:outputStylesheet>
无法实现此功能,因为它们只能指向Web应用程序自己的资源,而不能指向外部URL。这个功能已经被请求给JSF团队。另请参见JSF spec issue 598。目前计划在2.2版本中实现,但我不认为它会在那时已经被实现,因为它目前的投票数为0。
在那之前,您需要在<h:head>
中使用普通HTML <link>
和<script>
自己指定它们。如果需要在每个视图上定义它们,您可以将其制作为模板定义。
<h:head>
...
<ui:insert name="resources" />
</h:head>
并且
<ui:define name="resources">
<link rel="stylesheet" type="text/css" src="http://.../foo.css" />
<script type="text/javascript" src="http://.../foo.js"></script>
</ui:define>
CDNResourceHandler
,可在生产阶段运行时自动将JSF资源替换为CDN资源。请参见CDNResourceHandler
展示页面。