SSH项目ueditor插件jsp版本

我所使用的是ueditor_1_2_6_0_jsp版本。这个版本之前一直存在一个bug,据官方说已经解决但实际上还是存在的,就是图片上传的时候判断图片格式的正则表达式少了一个\符号,我在这个附件里已经修改了。如果有感兴趣的朋友可以去百度下这个bug。我的项目是SSH项目,这里再用上传功能的时候存在这一个strut2拦截request的问题,需要配置下。

第一步:把整个文件解压放到项目的WebContent下。

第二步:把commons-fileupload-1.2.2.jar和ueditor.jar放到项目的lib下面。

第三步:页面加载引入JS文件和样式。我这里用的是div展现的根据不同的提交方式可以选择不同的标签这个可以看下官网的API。

<script type="text/javascript" charset="utf-8" src="${pageContext.request.contextPath}/UEditor/ueditor.all.js"></script>
<script type="text/javascript" charset="utf-8" src="${pageContext.request.contextPath}/UEditor/ueditor.config.js"></script>
<link href="${pageContext.request.contextPath}/UEditor/themes/default/css/ueditor.css" rel="stylesheet" type="text/css"/>
<div id="newscontent" style="width: 850px;"></div>
<script type="text/javascript">
var editor = new UE.ui.Editor();
editor.render('newscontent');
</script>

以上功能完成后ueditor编辑器显示应该没有问题了。

这里提一下关于网上很多人说ueditor.config.js下的URL路径初试值的问题,默认的初始值是自动获取项目的相对路径,根据情况我们可以自己写成绝对路径。我在这里发现了一个有意思的地方就是如果我们没有改变之前所提到的那个这则BUG的话,火狐和IE对这个路径的要求是不一样的。IE想正常展示必须要把htt://localhost:8080/mypro这个项目路径写全火狐是不需要的。改掉这个bug后直接写var URL = window.UEDITOR_HOME_URL || "/mypro/UEditor/";就可以里。

展示没问题了,下面说下上传配置。strut封装了request这个问题的确存在,为了项目中的jsp过滤器我们自己重新个过滤器。

第四步:把upload.java类放到src下,这步需要自己建个包。这是我创建的包,UeditorFile是我自己重写的拦截器(我是在网上粘贴的)

第五步:修改imageUp.jsp和ueditor.config.js中的有关上传文件的配置路径这个在网上很多这里就不在粘贴代码了.(我上传的附件里都是改好的)

第六步:就是创建拦截器,配置web.xml了这个在附近里都有。

package com.usr.ueditor;
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;
/**
*
* TODO 过滤掉ueditor的jsp页面  方便上传
* @author :张驰
* @email  :zc_ciyuan@163.com
*/
public class UeditorFile extends StrutsPrepareAndExecuteFilter implements org.apache.struts2.StrutsStatics, javax.servlet.Filter{
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest request = (HttpServletRequest)req;
//不过滤的url
String url = request.getRequestURI();
System.out.println(url);
if(url.endsWith("fileUp.jsp") ||
url.endsWith("getContent.jsp") ||
url.endsWith("getMovie.jsp") ||
url.endsWith("getRemoteImage.jsp") ||
url.endsWith("imageManager.jsp") ||
url.endsWith("imageUp.jsp") ||
url.endsWith("scrawlUp.jsp")
){
try {
chain.doFilter(req, res);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
try {
super.doFilter(req, res, chain);//采用默认父类的拦截器,即struts2
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext*.xml</param-value>
</context-param>
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.framework.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<filter-class>com.usr.ueditor.UeditorFile</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.framework.tools.listener.SysContextListener</listener-class>
</listener>
<listener>
<listener-class>com.usr.basic.MySessionListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>/tologin.jsp</welcome-file>
</welcome-file-list>
</web-app>

都弄好后图片上传就没问题了。

本文出自 “小浩” 博客,请务必保留此出处http://zhangchi.blog.51cto.com/5214280/1224453

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值