zoukankan      html  css  js  c++  java
  • UEditor富文本编辑器时,插入图片没有任何反应

    1、信息: Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir

    这是struts需要在struts.xml配置临时文件夹。

    只需要在struts.xml的<struts></struts>中添加一下语句即可。

    <constant name="struts.multipart.saveDir" value="/tmp"/>

    原因:

    1.struts.multipart.saveDir用于存放指定临时文件的文件夹,该配置在struts.properties文件中。例如:在struts.properties文件中加入如下代码:

    struts.multipart.saveDir = /tmp

    这样下次提交表单的时候就不会出现这个问题了!

    2.如果没有用struts.properties文件,也可以在struts.xml中配置如下代码,效果一样:

    <constant name="struts.multipart.saveDir" value="/tmp"/>

    2、上传图片时如果提示“上传数据找不到”,则我们不能用struts自己的过滤器,我们要自己写一个,以下为步骤:

    增加创建一个过滤器,用来过滤ueditor的上传请求:

     <UeditorFilter.java>

     1 package Filter;
     2 
     3 import java.io.IOException;  
     4 
     5 import javax.servlet.Filter;  
     6 import javax.servlet.FilterChain;  
     7 import javax.servlet.FilterConfig;  
     8 import javax.servlet.ServletException;  
     9 import javax.servlet.ServletRequest;  
    10 import javax.servlet.ServletResponse;  
    11 import javax.servlet.http.HttpServletRequest;  
    12   
    13 import org.apache.struts2.dispatcher.StrutsRequestWrapper;
    14 import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;  
    15 //由于UEditor图片不能上传自制的Filter过滤器
    16 public class UeditorFilter extends StrutsPrepareAndExecuteFilter{  
    17   
    18     @Override  
    19     public void doFilter(ServletRequest req, ServletResponse res,  
    20             FilterChain chain) throws IOException, ServletException {  
    21         HttpServletRequest request = (HttpServletRequest) req;  
    22         String url = request.getRequestURI();  
    23         System.out.println(url);  //验证url,我的页面url为:/RoboBlogs/UEditor/jsp/controller.jsp
    24         if (url.contains("/RoboBlogs/UEditor/jsp/")) {    
    25             //[RoboBlogs]为项目名,[UEditor]为jsp部署ueditor的文件夹,看个人实际情况而定
    26             System.out.println("使用自定义过滤器");             
    27             chain.doFilter(req, res);         
    28         }else{             
    29             System.out.println("使用默认过滤器");             
    30             super.doFilter(req, res, chain);         
    31         }  
    32           
    33     }  
    34       
    35    
    36 
    37   
    38 }  
    UeditorFilter

    注意还需要在web.xml中配置使用上面定义的过滤器,替换原来的那个默认过滤器,代码如下 :

    1   <filter>  
    2      <filter-name>struts2</filter-name>  
    3     <filter-class>Filter.UeditorFilter</filter-class>  
    4  </filter>  
    5 <filter-mapping>  
    6      <filter-name>struts2</filter-name>  
    7      <url-pattern>/*</url-pattern>  
    8  </filter-mapping>  
     
     就此,问题得到解决

  • 相关阅读:
    Servlet和Filter的url匹配
    iterator的用法
    python学习笔记
    python的序列之列表
    java开发实战学习笔记3
    java学习笔记4
    Java Java集合
    Struts2中的几个符号
    DbHelper.cs
    做word,excel时需要引用com
  • 原文地址:https://www.cnblogs.com/hzb462606/p/9036483.html
Copyright © 2011-2022 走看看