3

我添加了OmniFaces以使用CombinedResourceHandler. 但是现在PrimeFaces Extensions <pe:ckEditor>不再起作用了。

这个问题有什么解决方法吗?

4

2 回答 2

2

不幸的是,这是一个由 PrimeFaces Extensions 加载和管理其 JS 资源的方式引起的已知问题。这已经被报告为旧 Google Code 主机上的一个问题,并且在当前的OmniFaces 已知问题 wiki中提到如下:

PrimeFaces Extensions <=0.7.1-4.0.0(可能还有未来版本)

PrimeFaces Extensions JS 资源primefaces-extensions.jsCombinedResourceHandler. 在加载期间,它会尝试从自己的<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之后 显式声明:CombinedResourceHandlerfaces-config.xml

<application>
    <resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler>
    <resource-handler>org.primefaces.extensions.application.PrimeFacesExtensionsResourceHandler</resource-handler>
</application>
于 2014-07-28T20:05:26.367 回答
1

此问题已在 PrimeFaces Extensions 6.2.8 或更高版本中修复。

https://github.com/primefaces-extensions/primefaces-extensions.github.com/issues/601

于 2019-03-09T16:14:51.277 回答