标签:
对于ueditor就不介绍了,网上一大把,直接言归正传,其主要问题是图片等的上传。
开发环境:
myeclipse2014+tomcat7+spring3.1.1+hibernate4.1.4+struts2.1+ueditor1.4.3 jsp版
备注:上述ssh环境其实就是MyEclipse2014自带的。
新建web project,命名为:news;搭建好ssh环境,从ueditor官网下载最新版:1.4.3 jsp版。
在WebRoot下新建文件夹:ueditor,将下载解压后的ueditor所有文件复制到此文件夹下,目录结构如图:
修改ueditor/jsp/config.json,如图(请忽略乱码注释):
修改ueditor/ueditor.config.js,如果((请忽略乱码注释):
将ueditor/jsp/lib下的所有Jar文件复制到news项目的WebRoot/WEB-INF/lib中;
在index.jsp中加载ueditor:
<script type="text/javascript" charset="utf-8" src="ueditor/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="ueditor/ueditor.all.min.js"> </script> <!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败--> <!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文--> <script type="text/javascript" charset="utf-8" src="ueditor/lang/zh-cn/zh-cn.js"></script> <style type="text/css"> div { width: 100%; } </style> </head> <body> <script id="editor" type="text/plain" style="width:1024px;height:500px;"></script> <script type="text/javascript"> //实例化编辑器 //建议使用工厂方法getEditor创建和引用编辑器实例,如果在某个闭包下引用该 编辑器,直接调用UE.getEditor(‘editor‘)就能拿到相关的实例 var ue = UE.getEditor(‘editor‘); </script> </body>
重写struts2的拦截器,若不重写,将会出现无法上传图片的情况,重写filter:UeditorFilter,代码如下:
package news.filter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; public class UeditorFilter extends StrutsPrepareAndExecuteFilter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String url = request.getRequestURI(); if (url.endsWith("controller.jsp")) { chain.doFilter(req, res); } // 拦截使用默认的拦截 else { super.doFilter(req, res, chain); } } }
10.修改web.xml的strut2拦截器:
<filter> <filter-name>struts2</filter-name> <filter-class>news.filter.UeditorFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
11.此时,能run as能不能实现图片上传呢???显然是不能的,因为用myeclipse搭建ssh的原因,会出现包冲突:需要删除如下jar文件:commons-io-1.3.2.jar;
还有个问题就是我开始用的是myeclipse tomcat7部署,用这个删除jar文件比较麻烦,所以最好直接在tomcat7中部署。
说明:如果不进行9和10,那么就会出现上传出现错误。如果不进行11就会出现找不到上传文件的情况。
最终效果:
标签:
原文地址:http://my.oschina.net/yunduansing/blog/513398