- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 ZK 标准 Spring 应用程序迁移到 Spring Boot。
我的 CKEditor 配置有问题。我正在使用外部插件,以下是配置:
CKEDITOR.plugins.addExternal('wordcount', 'plugins/wordcount/', 'plugin.js');
CKEDITOR.plugins.addExternal('notification', 'plugins/notification/', 'plugin.js');
CKEDITOR.editorConfig = function (config) {
config.extraPlugins = 'wordcount,notification';
config.mytoolbar = [ ... ]
config.wordcount = { ... };
};
<小时/>
对于旧的标准 Spring 应用程序,我以这种方式配置它:
1 - 插件(字数和通知文件夹)放入src/webapp/zkpatch/js/ckez/ext/CKeditor/插件
2 - ckeditor 配置文件 (config.js) 放入 src/webapp/js
3 - 在 zk.xml 中:
<library-property>
<name>org.zkoss.web.util.resource.dir</name>
<value>/zkpatch</value>
</library-property>
4 - 在 ZUL 文件中:
<ckeditor customConfigurationsPath="/js/config-ckeditor.js" value="@load(vm.myvalue)"/>
这非常有效。
<小时/>使用Spring Boot,资源位置已更改,因此我使用以下内容:
1 - 插件(字数和通知文件夹)放入src/resources/web/zul/js/ckez/ext/CKeditor/插件
2 - ckeditor 配置文件 (config.js) 放入 src/resources/static/js
3 - 在 ZUL 文件中:
<ckeditor customConfigurationsPath="/js/config-ckeditor.js" value="@load(vm.myvalue)"/>
但是到达该页面时出现以下错误(ZK 弹出窗口):
/js/ckez/ext/CKeditor/plugins/wordcount/plugin.js not found
从页面源码中可以看到插件JavaScript文件已正确加载,浏览器控制台中也出现TypeError: k is null
错误。
我需要将自定义插件文件夹移动到哪里以便 Spring Boot 可以找到它们?
<小时/>编辑 1
我错过了上面的一些路径,我当然使用src/main/resources
而不是src/resources
,并且CKEditor插件文件夹已放入 >src/resources/web/js/ckez/ext/CKeditor/plugins
(不在 zul
文件夹中)。
我忘了提及,我们正在使用自定义应用程序初始值设定项来支持自定义范围(我的一位同事在此处提出了一个问题 https://github.com/zkoss/zkspringboot/issues/7 )。
我们使用 Java 11、ZK 8.6.0 和 zkspringboot 1.0.3 starter 以及 Spring boot 2.0 .5.RELEASE (我上次尝试了 2.1.0,但似乎它与您的启动器还不兼容,顺便说一句,如果能够使用 2.1.0 版本 进行生产,那就太好了因为它正式支持 java 11)。
<小时/>编辑2
Undertow 配置了 HTTPS 和 HTTP/2。
当直接访问应用程序( https://locahost:8443/myapp )时,我确实没有遇到任何问题,CKEditor 加载正常。
我刚刚注意到,当我使用带有 AJP ( https://locahost/myapp ) 的前端 Apache 服务器时,会出现问题,然后 CKEditor 无法加载并显示上述错误消息。我可以从浏览器网络选项卡中看到,我还获得了一些静态资源(自定义 js/css)的代码 403。
Apache 配置非常基本:
ProxyPass "/myapp" "ajp://localhost:8009/myapp"
ProxyPassReverse "/myapp" "ajp://localhost:8009/myapp"
Undertow 配置也:
@Configuration
public class UndertowEmbeddedAjpConfiguration {
public UndertowEmbeddedAjpConfiguration() { }
@Bean
public UndertowServletWebServerFactory undertowServletWebServerFactory() {
final UndertowServletWebServerFactory undertow = new UndertowServletWebServerFactory();
undertow.addBuilderCustomizers((UndertowBuilderCustomizer) builder -> {
builder.addAjpListener(8009, "localhost");
});
return undertow;
}
}
我知道 AJP 已经过时了,不幸的是,这是我们的要求,因为我们被迫为所有应用程序使用 Shibboleth SSO,这需要 AJP...
如果需要,我可以提供一个随时可用的 Docker 版本。
编辑3
在我升级了一些依赖项后,问题终于消失了。不幸的是,我没有注意到哪些,因为我在多次部署后几周后才意识到......
最佳答案
这很难解决,但我会尝试。
“org.zkoss.web.util.resource.dir”配置的额外文件夹从来都不是必需的。并且实际上只对补丁有用,因为您只能配置其中之一。
放置资源的旧/原始位置位于包文件夹 src/main/resources/web
中(或者您可能使用非默认的 src/resources/web
>) - 这就是您在查看任何 ZK jar 时会看到的内容......这种机制一直可供任何人使用。
因此,Spring Boot 应用程序中没有什么新内容,区别在于将 Spring Boot 应用程序构建为 jar 文件时,WEB-INF 文件夹不可用。
我认为这只是您的配置中的拼写错误:
1 - plugins (wordcount and notification folders) put in src/resources/web/zul/js/ckez/ext/CKeditor/plugins
ckeditor将在类路径文件夹web/js/ckez/ext/CKeditor/plugins
中搜索插件,中间没有zul
,只需遵循与ckez.jar
这应该可以修复错误/js/ckez/ext/CKeditor/plugins/wordcount/plugin.js not found
。
也许这已经是您所需要的了。
为了解决其他问题,我建议查看浏览器开发人员工具 - 网络选项卡。这将为您提供有关使用哪个路径加载文件以及服务器如何响应的更好(不仅仅是页面源)信息。
关于java - 带 Spring Boot 的 ZK CKEditor 自定义插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53544728/
好的,所以我编辑了以下... 只需将以下内容放入我的 custom.css #rt-utility .rt-block {CODE HERE} 但是当我尝试改变... 与 #rt-sideslid
在表格 View 中,我有一个自定义单元格(在界面生成器中高度为 500)。在该单元格中,我有一个 Collection View ,我按 (10,10,10,10) 固定到边缘。但是在 tablev
对于我的无能,我很抱歉,但总的来说,我对 Cocoa、Swift 和面向对象编程还很陌生。我的主要来源是《Cocoa Programming for OS X》(第 5 版),以及 Apple 的充满
我正在使用 meta-tegra 为我的 NVIDIA Jetson Nano 构建自定义图像。我需要 PyTorch,但没有它的配方。我在设备上构建了 PyTorch,并将其打包到设备上的轮子中。现
在 jquery 中使用 $.POST 和 $.GET 时,有没有办法将自定义变量添加到 URL 并发送它们?我尝试了以下方法: $.ajax({type:"POST", url:"file.php?
Traefik 已经默认实现了很多中间件,可以满足大部分我们日常的需求,但是在实际工作中,用户仍然还是有自定义中间件的需求,为解决这个问题,官方推出了一个 Traefik Pilot[1] 的功
我想让我的 CustomTextInputLayout 将 Widget.MaterialComponents.TextInputLayout.OutlinedBox 作为默认样式,无需在 XML 中
我在 ~/.emacs 中有以下自定义函数: (defun xi-rgrep (term) (grep-compute-defaults) (interactive "sSearch Te
我有下表: 考虑到每个月的权重,我的目标是在 5 个月内分散 10,000 个单位。与 10,000 相邻的行是我最好的尝试(我在这上面花了几个小时)。黄色是我所追求的。 我试图用来计算的逻辑如下:计
我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模
我有一个 python 脚本来发送电子邮件,它工作得很好,但问题是当我检查我的电子邮件收件箱时。 我希望该用户名是自定义用户名,而不是整个电子邮件地址。 最佳答案 发件人地址应该使用的格式是: You
我想减小 ggcorrplot 中标记的大小,并减少文本和绘图之间的空间。 library(ggcorrplot) data(mtcars) corr <- round(cor(mtcars), 1)
GTK+ noob 问题在这里: 是否可以自定义 GtkFileChooserButton 或 GtkFileChooserDialog 以删除“位置”部分(左侧)和顶部的“位置”输入框? 我实际上要
我正在尝试在主页上使用 ajax 在 magento 中使用 ajax 显示流行的产品列表,我可以为 5 或“N”个产品执行此操作,但我想要的是将分页工具栏与结果集一起添加. 这是我添加的以显示流行产
我正在尝试使用 PasswordResetForm 内置函数。 由于我想要自定义表单字段,因此我编写了自己的表单: class FpasswordForm(PasswordResetForm):
据我了解,新的 Angular 7 提供了拖放功能。我搜索了有关 DnD 的 Tree 组件,但没有找到与树相关的内容。 我在 Stackblitz 上找到的一个工作示例.对比drag'ndrop功能
我必须开发一个自定义选项卡控件并决定使用 WPF/XAML 创建它,因为我无论如何都打算学习它。完成后应该是这样的: 到目前为止,我取得了很好的进展,但还有两个问题: 只有第一个/最后一个标签项应该有
我要定制xtable用于导出到 LaTeX。我知道有些问题是关于 xtable在这里,但我找不到我要找的具体东西。 以下是我的表的外观示例: my.table <- data.frame(Specif
用ejs在这里显示日期 它给我结果 Tue Feb 02 2016 16:02:24 GMT+0530 (IST) 但是我需要表现为 19th January, 2016 如何在ejs中执行此操作?
我想问在 JavaFX 中使用自定义对象制作 ListView 的最佳方法,我想要一个每个项目如下所示的列表: 我搜了一下,发现大部分人都是用细胞工厂的方法来做的。有没有其他办法?例如使用客户 fxm
我是一名优秀的程序员,十分优秀!