pe:添加CombinedResourceHandler后,ckEditor不再起作用

问题描述 投票:3回答:2

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

这个问题有解决方法吗?

jsf ckeditor omnifaces primefaces-extensions combinedresourcehandler
2个回答
2
投票

不幸的是,这是由PrimeFaces Extensions加载和管理其JS资源的方式引起的已知问题。这已经被报道为旧版Google Code主机上的问题,并且在当前的OmniFaces known issues 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,那么你还需要确保在CombinedResourceHandler中的faces-config.xml之后显式声明了PrimeFaces Extensions自己的资源处理程序:

<application>
    <resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler>
    <resource-handler>org.primefaces.extensions.application.PrimeFacesExtensionsResourceHandler</resource-handler>
</application>

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.