在前端网页中加入富文本编辑器

UEditor Docs这是UEditor官方网站,网站里有官方使用教程。

1、先把富文本编辑器的压缩包下载到本地,在我发布的资源里下载(不要积分)

解压之后主要是这个东西

2、把这个解压文件拖动到eclipse的项目里,拖进来之后有报错,别着急问题不大

我放在了:WebContent/resource/utf8-jsp

3、把utf8-jsp\jsp\lib路径下所有的jar包导进项目WEB-INF\lib下面

 

 4、把富文本配置进自己的前端页面

记得把配置文件的src换成自己文件存放的路径

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>发布公告</title>
</head>
<body>
	<div class="container">
		<div class="top">
			<span>发布社区公告</span>
		</div>
		<div class="box">
			<div class="item">
				<span>公告标题</span>
				<input type="text" placeholder="请输入标题" class="title">
			</div>
			<div class="item">
				<span>公告内容</span>
				 <!-- 加载编辑器的容器 -->
	    		<script id="bianjiqi" name="content" type="text/plain">
   				</script>
			</div>
			<div class="item">
				<input type="button" value="发布" class="add">
			</div>	
		</div>
	</div>
	<!-- 配置文件 -->
    <script type="text/javascript" src="resource/utf8-jsp/ueditor.config.js"></script>
    <!-- 编辑器源码文件 -->
    <script type="text/javascript" src="resource/utf8-jsp/ueditor.all.js"></script>
    <!-- 实例化编辑器 -->
    <script type="text/javascript">
    	//初始化富文本编辑器
        var ue = UE.getEditor('bianjiqi');
       
		$(function(){
			//发起添加请求
			$(".add").click(function(){
				var title = $(".title").val();
                //<!-- 获取编辑器的内容 -->
				var content = ue.getContent();
				//使用ajax发起请求
				$.ajax({
					url:"contentAdd",
					type:"post",
					data:{
						title:title,
						content:content
					},
					success:function(data){
						if(data.code==200){
							alert("发布成功");
						}else{
							alert(发布失败);
						}
					},
					error:function(){
						alert("请联系管理员")
					}
					
				})
			})
			
		})
</script>
</body>
</html>

运行结果:

 5、存储富文本剪辑器的内容到数据库

上图中的代码可以看出,用post方法,把title和content数据传输到了后端。

那我们在servlet中接收一下,直接往数据库插入就可以了,我这里还插入了一个当前日期。

插入时有一个要注意的就是content = content.replaceAll("\"", "\'");

这句时要替换content中的引号,不然插入语句会报错,大家可以自己尝试一下,当插入content带有style样式时发生。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//doGet(request, response);
		
		String title = request.getParameter("title");
		Timestamp timestamp = new Timestamp(System.currentTimeMillis());
		String content = request.getParameter("content");
		content = content.replaceAll("\"", "\'");
		
		//数据库中查询有无该账户
		String sql = "insert into notice(title,datetime,content) values (\""+title+"\",\""+timestamp+"\",\""+content+"\")";
		System.out.println("sql语句是:"+sql);
		int res = MysqlUtil.add(sql);
		String json = "";
		if(res>0) {
			json = "{\"code\":200,\"msg\":\"发布成功\"}";
		}else {
			json = "{\"code\":999,\"msg\":\"发布失败\"}";
		}
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/json;charset=utf-8");
		response.getWriter().write(json);
	}

6、把数据库中存储的内容回显到前端页面 

先把接收信息的三个div写好,我这里为了跳转获取是哪一个文章,使用了cookie,如果没有忽略就好,总之就是ajax请求,然后把数据回显。

前端代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查看所有公告具体信息</title>
<script src="resource/js/jquery.js"></script>
<script src="resource/js/jquery.cookie.js"></script>
<script>
	//用jquery封装cookie的方式获取cookie
	var id = $.cookie("noticeid")
	$.ajax({
		url:"contentById?id="+id,
		type:"get",
		success:function(data){
			console.log(data.data[0])
			$(".title").html(data.data[0].title)
			$(".datetime").html(data.data[0].datetime)
			$(".content").html(data.data[0].content)
		}
		/* error:function(){
			alert("出现异常,请联系程序员")
		} */
	})
</script>
</head>
<body>
	<h3 class="title"></h3>
	<h3 class="datetime"></h3>
	<div class="content">
	</div>
</body>
</html>

后端代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");
		//获取前端数据
		String id = request.getParameter("id");
		//String password = request.getParameter("password");
		//数据库中查询有无该账户
		String sql = "select * from notice where id = \""+id+"\"";
		String [] col = {"title","datetime","content"};
		String json = MysqlUtil.getJsonBySql(sql,col);
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/json;charset=utf-8");
		response.getWriter().write(json);
	
	}

运行结果:

 

这样就完成了富文本编辑器的简单使用,把文本数据存储,然后把数据提取回显。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值