CKEditor / TinyMCE渲染不正确

时间:2013-11-12 16:02:37

标签: java spring oracle tinymce cleditor

我正在尝试将CLEditor合并到我的某个应用程序中。但在某些地方,这是一个连接导致一些渲染问题。

前端使用jQuery / HTML / CSS后端使用Java / Oracle / Spring / Struts 2,我不太清楚问题出在哪里。我认为这是CLEditor以某种方式感到困惑。

我的代码如下所示。

<textarea id="editor" name="contractTemplate.contractBody" value="${contractTemplate.contractBody}"></textarea>

在页面的下方,我有CLEditor设置如下:

<script type="text/javascript">
  $(function() {

    $('#editor').cleditor({
      width: 'auto',
      height: 300,
      controls: "font bold italic | " +
              "bullets numbering | " +
              "alignleft center alignright justify | " +
              "outdent indent | " +
              "undo redo " +
              "rule | cut copy paste pastetext | print source",
      fonts: // font names in the font popup
              "Arial,Arial Black,Courier New,Narrow,Garamond," +
              "Georgia,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
      bodyStyle: "margin:4px; font: 10pt Arial, Verdana; cursor:text",
      docType: '<!DOCTYPE html>'
    });


  });
</script>

当我第一次加载textarea生活在其上的页面时,它显示得非常好。我可以使用左对齐,右对齐,中心来设置事物的格式。我能够创建适当的ulol(我需要的大部分功能)。我也可以使用提供的Show Source查看代码。我提交到Action并按预期保存我在CLOB中发送的格式化文本。但是,当我重新访问要编辑的页面(我的一个用例)时,先前格式化的文本已损坏...通常,如果我右对齐某些文本,则会从中删除标记,强制左对齐并添加"> textarea的结尾。你可以想象从那里引入的混乱。如果您没有抓住">并保存它会删除只有">幸存的所有文本,并且后续保存会将"&gt;保存到数据库中。

这个问题可能来自哪里?到目前为止,我一直无法找到有类似问题的人。

提前感谢您的帮助!

修改

也许问题与CLEditor无关......我只是快速安装了TinyMCE

<script src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
        tinymce.init({selector:'textarea'});
</script>

我也有同样的行为......

修改

进一步的调查表明,沿线的某个地方没有正确逃脱。

这来自Inspect Element功能:

<textarea aria-hidden="true" style="display: none;" id="editor" name="contractTemplate.contractBody" value="<p style=" text-align:="" right;"="">Right Align&lt;/p&gt;
&lt;p style="text-align: center;"&gt;Center&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Left Align&lt;/p&gt;"&gt;</textarea>

正如您所看到的,value="<p style"最终会关闭报价并且无法正常转义。页面下方的内容从< and >更改为&gt; and &lt;我看到了问题,但我不确定如何修复它。

1 个答案:

答案 0 :(得分:0)

有人希望从我缺乏关注中受益......任何一位编辑都没有错。上面提到的问题是我不注意自己在做什么。而不是删除问题,我会留下它,以便有人会搜索,看看我做错了什么来解决他们的问题......

使用textarea时请勿使用<textarea value="some value"></textarea>使用<textarea>some value</textarea>

相关问题