首页 > 编程 > JSP > 正文

jsp解决kindeditor在线编辑器struts图片上传问题

2019-11-14 22:24:28
字体:
来源:转载
供稿:网友
jsp解决kindeditor在线编辑器struts图片上传问题

1、下载

    官网下载ckeditor,解压后去掉不需要的部分,仅需保留plugin,lang,theme文件夹,这三个文件夹中用不到的东西可以删除, 比如lang文件下存放所有语言文件js,仅仅  保留en.js和zh_CN.js即可,保留jsp文件夹下的json_upload.jsp文件和 kindeditor.js文件即可,把jsp下面的jar导入

  

在线编辑器:http://kindeditor.net/

2、修改json_upload.jsp

  修改json_upload.jsp文件保存路径即可修改一下两句即可。

  //文件保存目录路径  String savePath = pageContext.getServletContext().getRealPath("/upload");

  //文件保存目录URL,此处为绝对路径  String saveUrl = request.getContextPath()+"/upload";

3、可选

  obj.put("url", request.getContextPath()+"/img/" + newFileName);//修改返回到编辑器显示的图片

4、在plugins/images/image.js修改

   uploadJson = K.undef(self.uploadJson, self.basePath + 'jsp/upload_json.jsp')

5、在plugins/filemanager/filemanager.js修改

fileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'jsp/file_manager_json.jsp'),

6、jsp中

  <link rel="stylesheet" href="<%=application.getContextPath() %>/themes/default/default.CSS" /> <script charset="utf-8" src="<%=application.getContextPath() %>/js/kindeditor.js"></script> <script charset="utf-8" src="<%=application.getContextPath() %>/lang/zh_CN.js"></script>

  <script charset="utf-8" src="<%=application.getContextPath() %>/lang/zh_CN.js"></script> <script> var editor; KindEditor.ready(function(K) { editor = K.create('textarea[id="content"]', { filterMode:false, resizeType : 1, allowPReviewEmoticons : true, allowImageUpload : true, items : [ 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|', 'emoticons', 'image', 'link'] }); K('input[name=submit]').click(function(e) { editor.value=editor.text(); }); }); </script>

<textarea tabindex="4" name="brand.content" id="content" style="width:80.2%"></textarea>

----------------------------struts----------------------------------------------------

1、struts直接<url-pattern>/*</url-pattern>会拦截了在线编辑器的url,所以需要进行下面的配置,这个只是解决那个问题的其中一种

2、自定义filter

public class KindeditorUrlFilter extends StrutsPrepareAndExecuteFilter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; //不过滤的url String url = request.getServletPath(); if ("/js/jsp/file_manager_json.jsp".equals(url)) { chain.doFilter(req, res); }else if("/js/jsp/upload_json.jsp".equals(url)){ chain.doFilter(req, res); }else{ //System.out.println("使用默认的过滤器"); super.doFilter(req, res, chain); } }}

3、web.xml配置filter

<filter> <filter-name>struts2</filter-name> <filter-class>com.dan.action.KindeditorUrlFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表