在CKEditor 4.7中在Source和WYSISYG之间切换时,表元素中的表达式不被接受

问题描述 投票:0回答:1

我正在制作我的学校项目所需的报告模板。在报告中,我需要显示所有汽车及其各自的详细信息。从下面的代码中可以看到,我正在使用spring表达式语言对返回数据执行循环,并且按预期工作。

<div>
<table>
    <tbody>
        $foreach{car: entity.cars}
        <tr>
            <td>${car.name}</td>
            <td>${car.color}</td>
            <td>${car.model}</td>
        </tr>
        $end{}
    </tbody>
</table>
</div>

但是,当我在Source和WYSISYG之间切换时,整个表达式将从表元素中省略并变成这样:

<div> $foreach{car: entity.cars}   $end{}
<table>
    <tbody>
        <tr>
            <td>${car.name}</td>
            <td>${car.color}</td>
            <td>${car.model}</td>
        </tr>
    </tbody>
</table>
</div>

我已经阅读了CKEditor的文档,发现有一个称为'ACF'的功能。它有助于我们丢弃无效,无用的HTML标记和属性,从而使编辑器在运行时保持“干净”。

我已经尝试过

 config.allowedContent = true;

我不确定我的问题是否由'ACF'功能引起。如果可以的话,我该如何配置它,以便编辑器将忽略该表达式并将其保持原样?

编辑

我使用另一个富文本编辑器(RTE)测试了上面的代码。不幸的是,事实证明它们全部返回相同的结果。我认为在RTE的表元素之间放置这样的表达式是非法的。我应该如何修改我的代码,以使其在RTE中在语法上正确?

html ckeditor spring-el ckeditor4.x
1个回答
0
投票

我刚刚有了解决此问题的方法。我注意到,如果我在'config.js'文件中明确指示不要删除SPEL,则该编辑器不会删除它。

您可以通过配置protectedSource来实现。有关更多详细信息,请检查此链接:https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-protectedSource

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