集成editormd支持markdown语法(二)之页面显示及回显

本文详细介绍了如何在网页中正确显示Markdown格式的内容,包括引入必要的CSS和JS文件,以及如何通过JavaScript将Markdown转换为HTML进行展示。同时,还探讨了在编辑过程中保持Markdown格式的方法,确保内容的样式在编辑前后保持一致。

一、显示markdown内容

引入css和js

<link rel="stylesheet" href="${ctx}/editormd/css/editormd.preview2.css" />
<link rel="stylesheet" href="${ctx}/editormd/css/editormd3.css" />

<script src="${ctx}/editormd/lib/marked.min.js"></script>
<script src="${ctx}/editormd/lib/prettify.min.js"></script>
<script src="${ctx}/editormd/lib/editormd.min.js"></script>

给显示内容的div加个id

<div  id="content-text">${cont.content}</div>

最后调用js将markdown转为html显示

<script language=javascript>
    editormd.markdownToHTML("content-text_"+id);
</script>

如果后台传来的是个list集合,如:

request.setAttribute("list", JSON.toJSONString( endPage.getResult() )  );

则要给每个div都赋值不同的id,如:

<div  id="content-text_${cont.id}">${cont.content}</div>

然后给每个div的markdown转为html显示

$(function () {
    var clist = ${list};
    $(clist).each(function () {
        var id = this.id
        editormd.markdownToHTML("content-text_"+id);
    })

二、回显

当编辑的时候需要回显内容,发现已经没有了样式

我采用的是比较笨的一种方法,将md格式和html格式的数据都保存一份,它们相互转换的方法没找到合适的

上一节在显示编辑器的时候说过两个文本域,一个是md格式的一个是html格式的

    <div class=" editormd"  id="test-editormd">
        <textarea class="editormd-markdown-textarea" id="editormd" name="test-editormd-markdown-doc">${cont.editormd}</textarea>
        <!-- 第二个隐藏文本域,用来构造生成的HTML代码,方便表单POST提交,这里的name可以任意取,后台接受时以这个name键为准 -->
        <textarea class="editormd-html-textarea" id="content" name="content"></textarea>
    </div>

再创建一个隐藏域用于接收md格式的值,或者后台直接用name="test-editormd-markdown-doc"进行接收(没试)

<input type="hidden" name="editormd" id="editormdVal"/>

然后js获取md格式的值赋值给隐藏域

 var editormd2=$("#editormd").val();

   $("#editormdVal").val(editormd2)

然后编辑的时候用EL表达式(${cont.editormd})直接回显md格式的内容即可

访问我的达人课

访问我的博客 Wang's Blog

关注我的微信公众号获取更多资源

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值