如何在JSF2中指定资源库版本?

如何在JSF2中指定资源库版本?,jsf,jsf-2,myfaces,mojarra,Jsf,Jsf 2,Myfaces,Mojarra,假设我在webroot中有一个resources/文件夹。在它里面,我有一个css/文件夹,里面有一个theme.css文件 但是我想设置一个Expires:头。因此,我想为资源库使用一个版本,比如 <h:outputStylesheet library="css" name="theme.css"/> 会变成 <link rel="stylesheet" src="javax.faces.resources/theme.css.xhtml?ln=css"/>

假设我在webroot中有一个
resources/
文件夹。在它里面,我有一个
css/
文件夹,里面有一个
theme.css
文件

但是我想设置一个
Expires:
头。因此,我想为资源库使用一个版本,比如

<h:outputStylesheet library="css" name="theme.css"/>

会变成

<link rel="stylesheet" src="javax.faces.resources/theme.css.xhtml?ln=css"/>

但我想具体说明一下

<h:outputStylesheet library="css" name="theme.css" version="1.2"/>

得到

<link rel="stylesheet" src="javax.faces.resources/theme.css.xhtml?ln=css&v=1_2"/>


或类似的。我已经读到JSF2支持资源版本控制,但是如何指定加载哪个版本,以及将文件放在哪里?

如果您想使用
css
库,您应该使用以下目录命名方案:

resources/css/1_1
resources/css/1_2

jsf标准资源目录中的
resources
,以及如何在jsf文件中指定版本?(实际上没有version=attribute)我发现如果你不指定JSf取的最高版本,如果你想指定一个版本,你可以如下操作:
谢谢,我会试试!虽然我注意到MyFaces的新版本不允许在库名称中使用/字符,但我始终希望使用最新版本。库名称也不打算设置为资源内容类型,而是设置为公共资源库名称。这确实是一个相当常见的错误。我真的不明白为什么每个人都开始使用“js”、“css”、“image”作为库名。如果你没有图书馆,就省略它吧。