【发布时间】: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