我使用PrimeFaces 3.5.x和Mojarra JSF 2.1.x 我想以編程方式訪問和顯示兩個庫的版本。以編程方式訪問JSF和Primefaces版本號
我使用版本作爲maven2屬性,但我希望有一個更簡單的方法來獲取版本。 我希望能找到這樣的:
Primeface.getVersion();
FacesContext.getCurrentInstance();
一個基於JavaScript的解決方案將被罰款過,因爲我只想顯示狀態頁上的版本。
我使用PrimeFaces 3.5.x和Mojarra JSF 2.1.x 我想以編程方式訪問和顯示兩個庫的版本。以編程方式訪問JSF和Primefaces版本號
我使用版本作爲maven2屬性,但我希望有一個更簡單的方法來獲取版本。 我希望能找到這樣的:
Primeface.getVersion();
FacesContext.getCurrentInstance();
一個基於JavaScript的解決方案將被罰款過,因爲我只想顯示狀態頁上的版本。
爲JSF:
//returns the major version (2.1)
FacesContext.class.getPackage().getImplementationVersion();
//returns the specification version (2.1)
Package.getPackage("com.sun.faces").getSpecificationVersion();
//returns the minor implementation version (2.1.x)
Package.getPackage("com.sun.faces").getImplementationVersion();
對於Primefaces 3.x中,你可以使用Constants
類utils包:
import org.primefaces.util.Constants;
Constants.VERSION
In P rimeFaces 4.0,Constants.VERSION被刪除以支持;
RequestContext.getCurrentInstance().getApplicationContext().getConfig().getBuildVersion();
同時還要注意FacesContext.class.getPackage().getImplementationVersion();
,它並不如WebSphere一些應用服務器上運行。
謝謝。對於JSF,您的解決方案僅返回「2.1」。爲了獲得次要版本,我發現這個:Package.getPackage(「com.sun.faces」)。getImplementationVersion()返回「2.1.25」。 – alfonx
我更新了答案來指定。非常感謝! –
正如@Cagatay的回答中所述,Primefaces 4.0版中刪除了此常量。 – mrswadge