Ueditor富文本编辑器使用

1、在Ueditor官网上下载对应的版本(包括:页面类型jsp,php等,编码类型:UTF-8,gbk)

2、在工程的根目录下创建一个ueditor包,将解压出的内容复制到该文件夹中

3、我的demo是SSH框架的,修改web.xml中的文件,使得struts的核心控制器不拦截ueditor中使用到的文件格式(如:jpg,js,jsp等)

<!-- 不拦截ueditor中使用到的文件格式(如:jpg,js,jsp等) -->
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<!-- <url-pattern>/*</url-pattern> -->
		<url-pattern>*.do</url-pattern>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>

若没有配置,在上传图片时,会报错,无法保存图片内容

4、将解压后的文件中jsp下lib包里的五个jar包复制到项目的lib包下,导入项目运行环境中(若有jar包与源项目重复,保留ueditor的,将项目中与之重复的jar包去除(先在运行环境中移除,再在lib包下删除))

5、环境测试:访问http://localhost:8080/你的项目名/ueditor/index.html

或是访问:http://localhost:8080/ssh-4/ueditor/jsp/config.json

 

出现如图所示,即ueditor基本环境搭建成功

6、若是按照以上步骤操作的,你的/ssh-4/WebContent/ueditor/ueditor.config.js这个配置文件不要动(切记不要动),源码如下图所示:

7、修改config.json使之符合自己的项目路径/ssh-4/WebContent/ueditor/jsp/config.json

下面的这个不知道是不是必须的,没有测试

8、前端页面设计(下面是一个完整代码,ueditor使用到的在代码下面解释),我的是jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<TITLE>添加请求</TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<LINK href="${pageContext.request.contextPath }/css/Style.css" type=text/css rel=stylesheet>
<LINK href="${pageContext.request.contextPath }/css/Manage.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.3492" name=GENERATOR>


</HEAD>
<BODY>
<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/ueditor.all.min.js"> </script>
<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/lang/zh-cn/zh-cn.js"></script>

<script type="text/javascript">
        UE.getEditor('content',{
            //这里可以选择自己需要的工具按钮名称,此处仅选择如下五个
            toolbars:[['FullScreen','simpleupload', 'Source', 'Undo', 'Redo','Bold','test']],
            //focus时自动清空初始化时的内容
            autoClearinitialContent:true,
            //关闭字数统计
            wordCount:false,
            //关闭elementPath
            elementPathEnabled:false,
            //默认的编辑区域高度
            initialFrameHeight:300
            //更多其他参数,请参考ueditor.config.js中的配置项
        })
    </script>
    
<script type="text/javascript">
	/* var ue = UE.getEditor('content'); */
	var editor = UE.getEditor('content',{
		enterTag : 'br'
	});
	/* var arr = [];
	arr.push(UE.getEditor('content').getContent());  //arr数组里面就是HTML 
	
	var articleContent = UE.getContent();
	editor.ready(function() {
	      ue.setContent($("#content").val());
	  });*/
</script>
	<FORM id=form1 name=form1 action="${pageContext.request.contextPath }/request/addRequest.action" method=post>
		<TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
			<TBODY>
				<TR>
					<TD width=15><IMG src="${pageContext.request.contextPath }/images/new_019.jpg" border=0></TD>
					<TD width="100%" background="${pageContext.request.contextPath }/images/new_020.jpg" height=20></TD>
					<TD width=15><IMG src="${pageContext.request.contextPath }/images/new_021.jpg" border=0></TD>
				</TR>
			</TBODY>
		</TABLE>
		<TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
			<TBODY>
				<TR>
					<TD width=15 background="${pageContext.request.contextPath }/images/new_022.jpg">
						<IMG src="${pageContext.request.contextPath }/images/new_022.jpg" border=0>
					</TD>
					<TD vAlign=top width="100%" bgColor=#ffffff>
						<TABLE cellSpacing=0 cellPadding=5 width="100%" border=0>
							<TR>
								<TD class=manageHead>当前位置:客户管理 &gt; 添加客户</TD>
							</TR>
							<TR>
								<TD height=2></TD>
							</TR>
						</TABLE>						
						<TABLE cellSpacing=0 cellPadding=5  border=0>
							<TR>
								<td>请求人:</td>
								<td>
									<INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="requestUser">
								</td>
								<td>请求人部门 :</td>
								<td>
									<INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="requestDepartment">
								</td>
							</TR>							
							<TR>	
								<td>请求类型 :</td>
								<td>
									<select name="requestType" class=textbox id=sChannel2 style="WIDTH: 180px">
										<option value="non">---请选择---</option>
										<option value="6">硬件</option>
										<option value="7">软件</option>
									</select>
								</td>
								<td>服务类型:</td>
								<td>
									<select name="serviceForm" class=textbox id=sChannel2 style="WIDTH: 180px">
										<option value="non">---请选择---</option>
										<option value="22">远程</option>
										<option value="23">现场</option>
									</select>								
								</td>
							</TR>
							<TR>
								<td>请求状态:</td>
								<td>
									<INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="requestStatus">
								</td>
								<td>服务人员:</td>
								<td>
									<INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="serviceUser">
								</td>
							</TR>
<!-- Ueditor富文本编辑器 -->
<!-- start================================================ -->
<TR>
	<td>请求描述:</td>
	<td colspan="3">
		<textarea name="requestDescription" id="content" style="width: 800px; height: 400px; margin: 0 auto;"></textarea>
		<!-- <INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="requestDescription"> -->
	</td>
</TR>
<!-- end================================================== -->
							<tr>
								<td rowspan=2>
									<INPUT class=button id=sButton2 type=submit value=" 保存 " name=sButton2>
								</td>
							</tr>
						</TABLE>
					</TD>
					<TD width=15 background="${pageContext.request.contextPath }/images/new_023.jpg">
						<IMG src="${pageContext.request.contextPath }/images/new_023.jpg" border=0>
					</TD>
				</TR>
			</TBODY>
		</TABLE>
		<TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
			<TBODY>
				<TR>
					<TD width=15><IMG src="${pageContext.request.contextPath }/images/new_024.jpg" border=0></TD>
					<TD align="center" width="100%" background="${pageContext.request.contextPath }/images/new_025.jpg" height=15></TD>
					<TD width=15><IMG src="${pageContext.request.contextPath }/images/new_026.jpg"	border=0></TD>
				</TR>
			</TBODY>
		</TABLE>
	</FORM>
</BODY>
</HTML>

静态文件引入

<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/ueditor.all.min.js"> </script>
<script type="text/javascript" charset="utf-8" src="${ctx}/ueditor/lang/zh-cn/zh-cn.js"></script>

script代码(得到id为content的组件, toolbars:[['FullScreen','simpleupload', 'Source', 'Undo', 'Redo','Bold','test']]为工具类上的属性(simpleupload为单图上传组件按钮)

<script type="text/javascript">
        UE.getEditor('content',{
            //这里可以选择自己需要的工具按钮名称,此处仅选择如下五个
            toolbars:[['FullScreen','simpleupload', 'Source', 'Undo', 'Redo','Bold','test']],
            //focus时自动清空初始化时的内容
            autoClearinitialContent:true,
            //关闭字数统计
            wordCount:false,
            //关闭elementPath
            elementPathEnabled:false,
            //默认的编辑区域高度
            initialFrameHeight:300
            //更多其他参数,请参考ueditor.config.js中的配置项
        })
    </script>

id为content的组件代码:

<!-- Ueditor富文本编辑器 -->
<!-- start================================================ -->
<TR>
    <td>请求描述:</td>
    <td colspan="3">
        <textarea name="requestDescription" id="content" style="width: 800px; height: 400px; margin: 0 auto;"></textarea>
        <!-- <INPUT class=textbox id=sChannel2 style="WIDTH: 180px" maxLength=50 name="requestDescription"> -->
    </td>
</TR>
<!-- end================================================== -->

9、完毕后,直接访问上述所写的jsp页面,点击图片按钮,选择将要上传的图片,确定,即可回显到页面上(效果图如下)

 

附录:遇到的问题

1、访问的页面不显示富文本工具栏

(script代码未找到对应id的组件,静态文件引入需要在UE获得之前定义)

2、/ssh-4/WebContent/ueditor/jsp/controller.jsp页面访问报错

(jar包冲突,项目jar包与ueditorjar包冲突,保留ueditor的配套jar包,移除并删除项目与之名字相同的jar包)

3、点击页面上的图片按钮组件无反应

(在web.xml中未允许struts核心控制器不拦截ueditor使用到资源,解决方法如上web.xml文件的配置)

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <!-- <url-pattern>/*</url-pattern> -->
        <url-pattern>*.do</url-pattern>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>

4、图片上传失败

(/ssh-4/WebContent/ueditor/jsp/config.json中的路径配置无效)(详细如上)

"imageManagerUrlPrefix": "http://localhost:8080/ssh-4/", /* 图片访问路径前缀 */

 

尚待解决问题:

富文本编辑器里保存的内容,在数据库中带有<p></p>标签,从数据库中直接取出来的,也带有标签

(若有大神知晓,万请想告,拜谢)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值