您的位置:首页 > 产品设计 > UI/UE

UEditor 1.4.3 部署示例(Jsp版,解决上传错误和显示问题)

2020-02-14 23:46 176 查看

1.从UEditor官网下载压缩包,这里选择1.4.3 UTF-8版。

2.解压缩,把文件夹重命名为ueditor,复制到WebRoot目录下;

   把/ueditor/jsp/lib下的jar包移动到:WEB-INF/lib.

   注:可能会显示js有错误,不用理会。



3.打开ueditor/ueditor.config.js,找到这句:   

var URL = window.UEDITOR_HOME_URL || getUEBasePath();

改成    var URL = window.UEDITOR_HOME_URL || "/你的项目名/ueditor/" ;


4.打开ueditor/jsp/config.json,修改所有形如xxxUrlPrefix的值,例如:

    "imageUrlPrefix": "/项目名", /* 图片访问路径前缀 */


至此初始配置完毕,测试:

新建一个网页(这里是.jsp),<head></head>之间加上:

<link rel="stylesheet" type="text/css" href="ueditor/themes/default/css/ueditor.css" />
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.js"></script>

实例化编辑器,可以放在一个TABLE里:

<TABLE>
<TR>
<td class="tdFormLabel"></td>
<td><script type="text/plain" id="editor" name="myContent"></script>
<script type="text/javascript">
var editor = new UE.ui.Editor({
initialFrameHeight : 280,
initialFrameWidth : 800
//设置编辑器大小
});
editor.render("editor");
</script>
</td>
</TR>
<TABLE>

部署到tomcat,打开页面:



各种功能OK。


以下是配合Struts2使用的教程(配合Struts2标签):

1.打开刚才的jsp页面,记得最上面加上标签引用

<%@ taglib uri="/struts-tags" prefix="s"%>

2.TABLE中,加入一个提交按钮:

<TR>
<td class="tdFormLabel"></td>
<td class="tdFormControl"><s:submit cssClass="btn" value="发布" /></td>
</TR>
3.TABLE外面,使用如下代码包围:

<s:form action="你定义的action" namespace="/" method="post">
</s:form>
4.Action中:

HttpServletRequest request = ServletActionContext.getRequest();
String str=  request.getParameter("myContent");

此处的"myContent"对应的是页面标签中name="myContent"这个属性。

存入一个String中(PS:编辑器提交的是HTML代码,MySQL中建议使用mediumtext存储)。

5.此时各种上传都不能使用,需要写一个filter使struts2不过滤ueditor/jsp/controller.jsp:

public class UEFilter  extends StrutsPrepareAndExecuteFilter{

public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
//不过滤的url
String url = request.getRequestURI();
System.out.println(url);
try {
if (url.contains("/controller.jsp")) {
System.out.println("使用自定义的过滤器");
chain.doFilter(req, res);
} else {
System.out.println("使用默认的过滤器");
super.doFilter(req, res, chain);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

到web.xml修改如下:

<filter>
<filter-name>struts2</filter-name>
<!-- org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter -->
<filter-class>
zju.rjxy.web.util.UEFilter
</filter-class>
</filter>

6.此时上传仍有可能报错,提示nosuchmethod,解决方案:

部署后,到tomcat项目目录中的\WEB-INF\lib文件夹下,手动删除commons-io-1.3.2.jar或其他1.x版本(UEditor自带的是2.4版)

PS:上传后的路径保存为HTML代码放在帖子内容中,所以数据库中不需要相应的表。


此时已经可以保存编辑器内容到数据库,但是取出时,如果使用<s:property value=" "/>显示,会发现取出的是未经解析的HTML代码,需要加上一个escape属性:

<s:property value="themeBody" escape="false" />







  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
流光华逝 发布了10 篇原创文章 · 获赞 0 · 访问量 4412 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: