我添加了OmniFaces以使用CombinedResourceHandler
. 但是现在PrimeFaces Extensions <pe:ckEditor>
不再起作用了。
这个问题有什么解决方法吗?
我添加了OmniFaces以使用CombinedResourceHandler
. 但是现在PrimeFaces Extensions <pe:ckEditor>
不再起作用了。
这个问题有什么解决方法吗?
不幸的是,这是一个由 PrimeFaces Extensions 加载和管理其 JS 资源的方式引起的已知问题。这已经被报告为旧 Google Code 主机上的一个问题,并且在当前的OmniFaces 已知问题 wiki中提到如下:
PrimeFaces Extensions <=0.7.1-4.0.0(可能还有未来版本)
PrimeFaces Extensions JS 资源
primefaces-extensions.js
与CombinedResourceHandler
. 在加载期间,它会尝试从自己的<script>
元素中计算版本,以便动态加载额外的 CSS/JS 资源。然而,这是不存在的,并且尝试失败并出现 JS 错误,这反过来会导致动态加载额外的 CSS/JS 资源,例如 CKEditor 失败。您最好的选择是
primefaces-extensions.js
通过添加以下条目来web.xml
告诉CombinedResourceHandler
不要合并 PrimeFaces Extensions 主脚本文件来排除合并:<context-param> <param-name>org.omnifaces.COMBINED_RESOURCE_HANDLER_EXCLUDED_RESOURCES</param-name> <param-value>primefaces-extensions:primefaces-extensions.js</param-value> </context-param>
如果您使用的是 OmniFaces 2.2 或更新版本,则可以使用通配符
*
作为名称:<context-param> <param-name>org.omnifaces.COMBINED_RESOURCE_HANDLER_EXCLUDED_RESOURCES</param-name> <param-value>primefaces-extensions:*</param-value> </context-param>
如果您使用的是3.0.0之前的 PrimeFaces Extensions ,那么您还需要确保 PrimeFaces Extensions 自己的资源处理程序在in之后 显式声明:
CombinedResourceHandler
faces-config.xml
<application> <resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler> <resource-handler>org.primefaces.extensions.application.PrimeFacesExtensionsResourceHandler</resource-handler> </application>
此问题已在 PrimeFaces Extensions 6.2.8 或更高版本中修复。
https://github.com/primefaces-extensions/primefaces-extensions.github.com/issues/601