使用Javascript或Jquery可以获得Primefaces版本吗?通过javascript获取primefaces版本
根据primeface 4或更新,widgetVar对象通过PF('widgetVar').something()
调用。而primefaces 3.5或更低版本不支持PF功能。 因此,我想编写jquery funtion,支持通过任何primefaces版本调用对话框的widgetVar。
没有人有任何想法,请分享。谢谢。
使用Javascript或Jquery可以获得Primefaces版本吗?通过javascript获取primefaces版本
根据primeface 4或更新,widgetVar对象通过PF('widgetVar').something()
调用。而primefaces 3.5或更低版本不支持PF功能。 因此,我想编写jquery funtion,支持通过任何primefaces版本调用对话框的widgetVar。
没有人有任何想法,请分享。谢谢。
如果你去PrimeFaces展示并在控制台中执行此:
PrimeFaces.getFacesResource
你会得到关于如何PrimeFaces暗示越来越Javascript中的当前版本,但不幸的是,该功能仅在展示脚本中可用。
所以我不得不重写一个类似。
function getPFVersion() {
var src = $('script[src*="/javax.faces.resource/primefaces.js"]').attr("src");
return new RegExp("v=([^&]*)").exec(src)[1];
}
,您还可以在后端得到PrimeFaces版本:
PrimeFaces 4.0和更高
String pfVersion = RequestContext.getCurrentInstance().getApplicationContext().getConfig().getBuildVersion();
PrimeFaces 3.5和更低
String pfVersion = org.primefaces.util.Constants.VERSION;
感谢指教,第二个解决方案,即后端PrimeFaces版本的工作,比我的解决方案更好。此外,你的JavaScript是工作。 – wittakarn 2014-09-30 08:40:28
不客气。 – 2014-09-30 08:43:16
我发现了一些问题。当我使用RequestContext.getCurrentInstance()。getApplicationContext()。getConfig()。getBuildVersion();使用primefaces 3.4.2,会发生NoSuchMethodError异常。因此,提出的后端不适用于primefaces 3.4.2。 – wittakarn 2014-10-09 03:42:43
最后,我用资源捆绑到存储由行家建primefaces版本。
这段代码在Managedbean检查版本和更改模式的jquery调用。
public String getPFPattern(final String widgetVar){
String sPFVersion = getPrimefacesVersion();
double iPFVersion = 0;
String resp = widgetVar;
if(sPFVersion != null && !sPFVersion.equals("")){
iPFVersion = Double.parseDouble(sPFVersion);
}
if(iPFVersion >= 4){
resp = "PF('".concat(resp).concat("')");
}
return resp;
}
public String getPrimefacesVersion(){
ResourceBundle bundle = ResourceBundle.getBundle("com.xxx");
return bundle.getString("primefacesVersion");
}
我XHTML
oncomplete="#{versionBean.getPFPattern('dlgReference')}.show()"
的建议方法getPFPattern的情况下返回PF('xxx')
primefaces 4或更新的版本
版本号可以通过[Java代码](http://stackoverflow.com/q/18355985/1391249)获取。您可以创建一个AJAX请求,从服务器获取并在您的JavaScript/jQuery代码中使用。 – Tiny 2014-09-30 04:26:02
谢谢@Tiny建议,我认为您的建议只是解决我的问题的一种解决方案。 – wittakarn 2014-09-30 04:30:47