【发布时间】:2014-09-20 02:50:32
【问题描述】:
我添加了OmniFaces 以使用CombinedResourceHandler。
但是现在 PrimeFaces Extensions <pe:ckEditor> 不再起作用了。
这个问题有解决办法吗?
【问题讨论】:
标签: jsf ckeditor omnifaces primefaces-extensions combinedresourcehandler
我添加了OmniFaces 以使用CombinedResourceHandler。
但是现在 PrimeFaces Extensions <pe:ckEditor> 不再起作用了。
这个问题有解决办法吗?
【问题讨论】:
标签: jsf ckeditor omnifaces primefaces-extensions combinedresourcehandler
不幸的是,这是一个由 PrimeFaces Extensions 加载和管理其 JS 资源的方式引起的已知问题。这已经被报告为旧 Google Code 主机上的一个问题,并且在当前的 OmniFaces known issues wiki 中提到如下:
PrimeFaces 扩展
PrimeFaces Extensions JS 资源
primefaces-extensions.js与CombinedResourceHandler不兼容。在加载期间,它会尝试从自己的<script>元素中计算版本,以便动态加载额外的 CSS/JS 资源。然而,这是不存在的,并且尝试失败并出现 JS 错误,这反过来会导致动态加载额外的 CSS/JS 资源,例如CKEditor 失败。最好的办法是通过将以下条目添加到
web.xml告诉CombinedResourceHandler不要合并 PrimeFaces Extensions 主脚本文件来排除primefaces-extensions.js的组合:<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>如果您使用的是 PrimeFaces Extensionsbefore 3.0.0 版,那么您还需要确保 PrimeFaces Extensions 自己的资源处理程序被显式声明 after @987654331 @在
faces-config.xml:<application> <resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler> <resource-handler>org.primefaces.extensions.application.PrimeFacesExtensionsResourceHandler</resource-handler> </application>
【讨论】:
<script src> 检查其版本,而是使用另一种方式。例如。在其主脚本文件中硬编码(构建生成),或在 <h:head> 中动态呈现。
此问题已在 PrimeFaces Extensions 6.2.8 或更高版本中得到修复。
https://github.com/primefaces-extensions/primefaces-extensions.github.com/issues/601
【讨论】: