首先我要声明这是我的第一个问题,我是这个社区的新人。请善待我,不要犹豫地纠正我,引导我到哪里可以找到答案或学习等。
我发布这个问题是为了找到解决方案的最后希望,因为我自己(也没有在同事的帮助下)没有找到或提出任何解决方案。
基本上PrimeFaces p:编辑器 https://www.primefaces.org/showcase/ui/input/editor.xhtml目前在我正在开发的程序的一个页面中使用。用户使用它来输入文本并格式化文本,然后将其作为电子邮件发送。目前,电子邮件内容由 JavaScript 函数 saveHTML 转换为 HTML,因此消息代码如下所示:
<div style="font-weight:normal; font-style:normal">
<div style="font-size:11pt; font-family: Calibri,sans-serif">
<br>In case of questions please send a message to: <a href="mailto:[email protected] /cdn-cgi/l/email-protection" target="_blank">[email protected] /cdn-cgi/l/email-protection</a>.
<br><br>Yours Sincerely
</div>
然而,从某个时刻起,用户一直报告编辑器不可预测地更改文本字体等,这就是我发现的原因已弃用 https://www.primefaces.org/showcase/ui/input/editor.xhtml并想将其更改为p:文本编辑器 https://www.primefaces.org/showcase/ui/input/textEditor.xhtml.
文本编辑器似乎工作正常(可进行编辑)并且看起来不错,但在测试期间会检查发送的电子邮件。发现textEditor不知何故不支持JavaScript函数saveHTML,因此该函数失败,消息代码发送如下:
<p><br></p><p>In case of questions please send a message to:: <a href="mailto:[email protected] /cdn-cgi/l/email-protection" target="_blank">[email protected] /cdn-cgi/l/email-protection</a>. </p><p><br></p><p>Yours Sincerely</p><p><br></p><p><strong>Anna Li</strong></p>
然后我发现textEditor是based on(?) QuillJs https://quilljs.com/ (文本编辑器文档中的信息 https://primefaces.github.io/primefaces/8_0/#/components/texteditor)如果我明白这一点GitHub问题 https://github.com/quilljs/quill/issues/903如果正确,那么它不支持将文本转换为 HTML。
所以问题是:
- 有没有办法修复 textEditor 以便 saveHTML 功能起作用?或者有其他函数可以代替吗?或者有没有像 saveHTML 函数一样优雅的解决方法?怎么解决这个问题呢?(因为我最后的想法是制作自己的 Java 函数,将文本转换为 HTML,但与 saveHTML 相比,这个选项很长、痛苦、困难且非常不优雅)
PrimeFaces 版本 7.0.7; PrimeFaces 扩展版本 7.0.2。
请注意,我不想使用其他组织/公司的文本编辑器。