第11课:博客书写页面——KindEditor 富文本编辑器

富文本编辑器 KindEditor

KindEditor 是一套开源的 HTML 可视化编辑器,可支持文字编辑、emoji 表情和图片上传等。主要用于让用户在网站上获得所见即所得编辑效果,兼容 IE、Firefox、Chrome、Safari、Opera 等主流浏览器。效果如图:

准备

1. 在 WEB-INF 下新建文件夹 write,将与文章写作方面的 JSP 放入其中,引入 writedream.jsp 和 writesuccess.jsp 文件。

2. 这里使用的是经过 ZUI 封装后的 KindEditor 富文本编辑器

使用方法主要是引入 ZUI 框架下的 kindeditor.min.js:

<script src="${ctx}/css/zui/lib/kindeditor/kindeditor.min.js"></script>

ZUI 框架文件之前已经给大家了,在 webapp/css下,如图:

也可以去官网下载:

事件源

1. 通过点击个人主页导航栏的写梦或者是右侧的写文章小图标,都可进入写文章页面(writedream.jsp):

<li><a href="${ctx}/writedream">写梦</a></li>

因为 writedream.jsp 在 WEB-INF 目录下,受保护,不能直接访问,所以需要经过 Controller 层处理后跳转。

2. 在 Controller 包下新建 WriteController 并继承 BaseController:

    @Controllerpublic class WriteController extends BaseController {private final static Logger log = Logger.getLogger(WriteController.class);@RequestMapping("/writedream")public String writedream(Model model) {User user = (User) getSession().getAttribute("user");model.addAttribute("user", user);return "writedream";}}

获取 Session 中的 user 信息,放入 model 中,返回 writedream.jsp 页面。

3. 点击写梦进入 writedream.jsp 页面,效果如下:

梦分类下拉框

代码如下所示:

     <div style="margin-top: 20px;margin-left: 20px;position: absolute;"><div class="dropdown dropdown-hover"><button class="btn" type="button" data-toggle="dropdown" id="dream-diff" style="background-color:#EBEBEB"><span id="fen" >梦分类</span> <span class="caret"></span></button><input id="hidden_cat" hidden="hidden" name="category"/><ul class="dropdown-menu" id="dreamland-category"><li><a>惊悚梦</a></li><li><a>爱情梦</a></li><li><a>武侠梦</a></li><li><a>美食梦</a></li><li><a>工作梦</a></li><li><a>动物梦</a></li><li><a>其他梦</a></li></ul></div></div>

下拉框使用的是 ZUI 的 JS 插件,只要使用相应的 class 属性就能实现相应的效果。

通过点击 li 标签获取该 li 标签内的值,将其赋值给 id 为 fen 的 span 标签和 id 为 hidden_cat 的隐藏 input 标签,input 标签可通过 name 属性传给后台,li 标签的点击事件如下:

     //li标签的点击事件$("#dreamland-category li").click(function(){//jquery的click事件var val = $(this).text();$("#fen").html(val);$("#hidden_cat").val(val);});

通过 $("#dreamland-category li") 获取 id 为 dreamland-category 的 ul 标签的所有 li 对象,click 为单击事件,

$(this) 获取该 li 对象,通过 .text() 方法获取 li 标签内的文本,将其赋值给变量 val。

然后将id为fen的对象的文本设置为该li标签内的文本,主要是选择分类内容

将 val 赋值给 id 为 hidden_cat 的对象的 value 属性,主要是为了通过 name 属性传值给后台。

富文本编辑器的图片上传

1. 创建可视化编辑器的方法,如下所示:


http://www.taodudu.cc/news/show-3360749.html

相关文章:

  • 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十二)
  • day02-搭建后台系统
  • ZUI易入门前端 二、Javascript
  • php mysql问答系统_PHP+MYSQL问答系统V3.7
  • zui消息推送服务器,没放弃!联想ZUK Edge迎接ZUI3.1更新推送
  • 自定义 View 之联想手机 ZUI 系统加载动画
  • 初识Struts 2
  • python绘图时如何让点在线上
  • Python理解面向对象
  • Android刮刮卡的实现
  • Java学习笔记-----comparable和comparator使用方法
  • Python大佬用词云可视化带你分析海贼王、火影和死神三大经典动漫
  • Python可视化,爬下豆瓣带你分析海贼王、火影和死神三大经典动漫
  • 用Python做词云可视化带你分析海贼王、火影和死神三大经典动漫
  • Maven项目架构管理工具配置方法
  • 动漫主题dreamweaver作业静态HTML网页设计——仿京东(海贼王)版本
  • Flare3D游戏特效教程:火拳阿宝
  • 在学期初小结本学期要做的事情
  • 代数学引论 课后习题解答1
  • 注册中心对比大全这样表是给公众号每日一面整理的, 顺便给个关注呗?
  • Cannot deserialize instance of `com.jas.cn.ReturnData` out of START_ARRAY token
  • 成功在虚拟机中安装Mac OS X JaS10.4.8
  • JAX-RS和spring整合
  • javax.el.PropertyNotFoundException: Property 'typeId' not found on type java.lang.String
  • jas完成编译后提示:HTTP Status 404 - /shop/user_regist.action }其中 和}代表什么
  • java常用命令javac、javap、jps、jstack
  • [转]JDE910--jas.ini参数说明
  • jas CAS单点登录学习之一   单点流程
  • 【微信小程序】自定义组件的实现及数据交互
  • 框架连接Oracle报502,GitHub - jas502n/oracleShell: oracle 数据库命令执行

基于Spring+SpringMVC+MyBatis博客系统的开发教程(十一)相关推荐

  1. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十三)

    第13课:第三方 QQ 登录及账号绑定与解除 使用 QQ 第三方登录时要调用第三方接口,需要 AppID 和 AppKey 等信息,所以首先要申请注册一下. 申请注册 首先在百度搜索 QQ 互联或者点 ...

  2. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十六)

    第16课:Spring Security 之手机登录认证授权 通过上一篇的源码分析得知 Spring Security 提供的默认认证方式是根据用户名和密码进行认证的.要想通过手机登录认证就得制定自己 ...

  3. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(五)

    第05课:注册(邮件激活.Redis 缓存.Ajax 异步获取) 前期准备 首先在 webapp 目录下引入 JSP 和 CSS.JS.images 等资源文件,资源文件已放入文末的百度网盘链接中. ...

  4. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(四)

    第04课:接口设计及通用 Mapper 接口设计 项目开发一般都是分工协作的,大家要按照一定规则去开发,接口就是一套规则,设计人员定义好所有接口名称,接口参数以及返回值类型等,实现接口的人员负责实现接 ...

  5. 基于Spring+SpringMVC+MyBatis博客系统的开发教程(十二)

    第12课:个人资料修改页面 正式开始本文内容前,我们先做下准备,即在 WEB-INF 下的 personal 文件夹下导入个人资料修改页面 profile.jsp 文件. 通过访问个人主页的修改个人资 ...

  6. 基于Spring Boot+Vue博客系统的设计与实现(附源码)

    摘要 中文博客第一次映入眼帘是在2002年,那时候的个人终端还是人们眼中的香饽饽,随着科技的不断进步和制造业的蓬勃发展,个人计算机终端开始逐渐变得普及,实现了人手一台电脑,在这种趋势中,博客系统走入了 ...

  7. 基于Spring+SpringMVC+Mybatis架构的开源博客

    介绍: Art_Blog   基于Spring+SpringMVC+Mybatis架构的开源博客:博客管理.图表数据.日志分析.访问记录.图库管理.资源管理.友链通知等.良好的页面预加载,无限滚动加载 ...

  8. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达 今日推荐:推荐19个github超牛逼项目!个人原创100W +访问量博客:点击前往,查看更多 作者:zheng gitee ...

  9. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 前言 本项 ...

最新文章

  1. 最长公共子序列(LCS问题)
  2. 轻量级NuGet—BaGet
  3. MFC学习之路之多媒体 --(1) DirectShow
  4. lda进行图片分类_利用CNN对股票“图片”进行涨跌分类——一次尝试
  5. android自定义进度条百分比跟着走,Android studio圆形进度条 百分数跟随变化
  6. 【汇编语言与计算机系统结构笔记11】程序格式与伪操作:段定义、堆栈 #简洁笔记形式
  7. qt 读取gif一帧_译:Unreal渲染一帧详解(Unreal Frame Breakdown)
  8. android .9横向拉伸,神奇的问题!android .9图片拉伸不是不会变形吗?但是这里变形了...
  9. 软件生成问候图片_设计师注意啦!欧美风双色图片一键生成的软件来啦!
  10. Excel判断身份证号码数据的第17或15位数字的奇偶性决定男女性别
  11. 两消两现指的是_精细胞减二末期会有“两现”吗
  12. idea 运行jmeter源码_IDEA 编译 Jmeter 4.0 ( 二次开发_1 )
  13. Priest John's Busiest Day (2-sat)
  14. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(六):线性分类笔记(上)
  15. notion自建服务器,【速报】Notion的特色「双向链接」方案来了,Synced Block 登场...
  16. linux双显卡配置_linux双显卡解决方案
  17. CSSAPP稀里糊涂的读书笔记(一)计算机系统漫游
  18. 怎么1年内赚100万
  19. 操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统)
  20. 关于北京生孩子落户口问题集锦

热门文章

  1. 学自动化的最后都做什么工作了?我的10年...
  2. OpenCV系列之直方图-2:直方图均衡 | 二十七
  3. 企业如何通过迁移到云平台来减少开支
  4. 大一计算机专业有必要学python吗_本人就读专业为计算机科学与技术信息管理方向,有必要学python吗???...
  5. 我的AA字体美化方法【方正圆体字】(转)
  6. 2020爱分析·中国人工智能厂商全景报告
  7. 使用JAVA语言,Eclipse工具 完成身高上英寸和米之间的转化
  8. 计算机跨考学校排名,全国33所计算机名校跨考难度系数排名
  9. 推荐Chrome插件,让你高效使用浏览器
  10. 交通方案 | 基于FET3399-C核心板打造公交二维码支付刷卡机