【问题标题】:How to solve issue with quotes when using Freemarker with ckEditor (or any html editor)?将 Freemarker 与 ckEditor(或任何 html 编辑器)一起使用时如何解决引号问题?
【发布时间】:2016-10-07 20:33:37
【问题描述】:

例如,我的模板中有以下内容

${(object.attribute)!"default text"}

有时需要引号,如上述FreeMarker can deal with dates that are null 等情况。

问题是我的html编辑器自动将引号转换为html转义字符"。我将尝试查看 FMParse.java 的源代码,这是引发异常的地方并添加了一个特殊异常,但它在 FreeMarker 源代码中不可用...

感谢任何有关如何处理此问题的建议。我理解为什么 ckEditor 之类的 html 编辑器会处理引号,但在这些情况下,我如何使用 FreeMarker 处理它们?我想要一个 html 编辑器,因为用户能够获得 WYSIWYG 编辑器真的很棒。

【问题讨论】:

  • 它是否也逃脱了'?如果没有,您可以使用它而不是 "。从源代码来看,它是FTL.jj,它不是一个java 文件。但也许你应该在将内容传递给 FreeMarker 之前对内容进行预处理,避免在 ${} 之间的部分(我想也在 [#][/# 和 @987654332 之间@等)
  • 不幸的是单引号也被转换为 '
  • 在事先对其进行预处理方面,我考虑过这一点,但我如何确定我正在转换正确的引号。例如,我怎么知道它们不是合法引号。然后让我能够解析模板语言。如果他们在默认文本中添加引号会怎样。它基本上很快就会变得丑陋:(
  • 当您(好吧,CKEditor 是)转义 FTL 标记和插值时,结果不是 FTL,而是一些新语法。所以我认为不能避免每次处理。这样的预处理器可能是一个普遍有用的贡献。 (而且 WSYSWYG 存在更棘手的问题......比如如果你想#list<tr>...</tr>-s,则没有与这些 tr 标签周围的源位置相对应的视觉位置。)
  • 我刚刚开始使用 FreeMarker,所以我什至还没有机会尝试这些列表。当我到达那里时,我必须先了解你的意思,然后才能说出有关该主题的任何信息,更不用说尝试实现预处理器了。

标签: java html templates ckeditor freemarker


【解决方案1】:

我通过设置解决了这个问题

config.entities = false;

在 CKEditor 配置中。

http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-entities

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 2022-11-22
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 2022-05-05
    • 2019-11-23
    • 2019-02-19
    相关资源
    最近更新 更多