700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 保存富文本编辑器内容

保存富文本编辑器内容

时间:2021-05-01 16:11:33

相关推荐

保存富文本编辑器内容

在这里我使用的是layUI的layedit模块,layUI中的富文本编辑器模块。

第一步我们先将页面搭建好,引入layui.layedit模块和layui.form模块。form模块可用于表单的数据验证和提交

在form表单中建一个textarea

<textarea class="layui-textarea" id="example" name="example"></textarea>

var form = layui.form;//引入form模块var layedit = layui.layedit;//引入layedit模块var laybuild = layedit.build("example",{tool:['strong' ,'italic','underline','del','|','left','center','right','|','face']});//tool 自定义工具栏

使用layedit.build方法,将textare替换为layui富文本编辑器。tool为工具栏,不设置则显示默认的工具栏。

在form表单的【提交】按钮中设置lay-filter属性,可以对表单数据进行完整性验证。

<button class="layui-btn layui-btn-blue" lay-submit lay-filter="formDemo">提交</button>

之后就可以提交表单了,使用form.on方法监听表单提交,若想阻止表单跳转,则可以设置return false

form.on('submit(formDemo)',function(data){var content = layedit.getContent(laybuild);//通过layedit.getContent()方法获得富文本编辑器内容$.post("${ctx}/servlet/CliServlet?fun=saveExample",{examplecontent:content},function(e){if(e){layer.alert("新增成功!",{offset:'150px',icon:1,title:'提示'});setTimeout(function(){window.location.href="${ctx}/jsp/backstage/client-example.jsp";}, 1500);}});//阻止表单跳转,我们使用post方法提交给servletreturn false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。});

这里要区分的是,getContent()方法是获取富文本编辑器内的所有内容,包括字体、对齐、表情和图片等等,而getText()是获取编辑器纯文本内容。

public void saveExample(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{boolean state=false;String examplecontent = request.getParameter("examplecontent");//接收文本内容String name = System.currentTimeMillis()+".txt";//获取当前纳秒作为文件名//获取服务器路径,拼接完整的文件路径String uploadPath = request.getServletContext().getRealPath("") + File.separator + "example"+File.separator +"content"+File.separator +name;// 如果目录不存在则创建File uploadDir = new File(uploadPath);if (!uploadDir.exists()) {//File.mkdirs()创建目录uploadDir.getParentFile().mkdirs();//创建父级文件路径//File.createNewFile()创建文件 uploadDir.createNewFile();}//RandomAccessFile(File,'rw') 以”读写“模式打开刚才创建的文件RandomAccessFile accessFile = new RandomAccessFile(uploadDir, "rw");accessFile.seek(accessFile.length());accessFile.write(examplecontent.getBytes());//将内容写入文件中accessFile.close();//关闭流ExampleVo example = new ExampleVo();example.setComposedate(new Date(new Date().getTime()));example.setExamplecontent(name);//最后将保存时间和文件名保存进数据库state = cliSer.saveExample(example);//返回结果response.getWriter().write(String.valueOf(state));}

这里用到了File类的mkdirs()方法createNewFile()方法,分别是创建目录和创建文件。之后再使用RandomAccessFile类,对文件进行操作,将文本内容写入文件中。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。