• strus2项目中百度编辑器运用的几点细节


      百度编辑器的运用可以参考我之前写的一篇文章,在java项目中加入百度富文本编辑器。这篇文章是以maven+spring mvc项目进行的,总得来说配置比较简单,但是如果是想在strus2项目中配置ueditor编辑器,需要注意以下细节。

      1.保证ueditor所需要的包都导入到了项目,如果是maven项目,参考上述文章,如果是普通项目,将ueditor/jsp/lib下的包放入web-inf的lib包中。

      2.在上传图片的时候,若提示“未找到上传文件”且其他地方配置无误,则需要做一下拦截器的配置。新建一个UeditorFilter,继承自struts2拦截器,代码如下。

    package cn.wonyen.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;  
            //不过滤的url  
            String url = request.getRequestURI();  
    //        System.out.println(url);  
            if (url.contains("/ueditor1_4_3/jsp/controller.jsp")) {  //注意路径
                chain.doFilter(req, res);  
            }else{  
                super.doFilter(req, res, chain);  
            }  
        } 
    
    }

      并且,由于这个拦截器继承自StrutsPrepareAndExecuteFilter拦截器,所以原本的web.xml中的关于struts的拦截器都可以注释掉了,否则UeditorFilter 不会起到作用。注释掉的web.xml如下。

     <filter>
        <filter-name>ueditorFilter</filter-name>
        <filter-class>cn.wonyen.filter.UeditorFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>ueditorFilter</filter-name>
        <url-pattern>/*</url-pattern>
          <dispatcher>REQUEST</dispatcher>     
            <dispatcher>FORWARD</dispatcher> 
      </filter-mapping>
    <!--   <filter> -->
    <!--     <filter-name>struts2</filter-name> -->
    <!--     <filter-class> -->
    <!--           org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter -->
    <!--       </filter-class> -->
    <!--   </filter> -->
    <!--   <filter-mapping> -->
    <!--     <filter-name>struts2</filter-name> -->
    <!--     <url-pattern>/*</url-pattern> -->
    <!--   </filter-mapping> -->
    <!--   <filter> -->
    <!--     <filter-name>struts-prepare</filter-name> -->
    <!--     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class> -->
    <!--   </filter> -->
    <!--   <filter-mapping> -->
    <!--     <filter-name>struts-prepare</filter-name> -->
    <!--     <url-pattern>/*</url-pattern> -->
    <!--   </filter-mapping> -->
    <!--   <filter> -->
    <!--     <filter-name>struts-execute</filter-name> -->
    <!--     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class> -->
    <!--   </filter> -->
    <!--   <filter-mapping> -->
    <!--     <filter-name>struts-execute</filter-name> -->
    <!--     <url-pattern>/*</url-pattern> -->
    <!--   </filter-mapping> -->

      3.如果图片可以上传,但是上传完以后显示在页面上的是图片的名称,而不是回显图片本身,则是图片上传路径配置的错误。如下图所示。

     

      注意如下两个位置的配置。config.json下的imageUrlPrefix和imagePathFormat。这两个位置合起来构成图片的真实路径。(若是springmvc项目,两项可以合起来放在imagePathFormat项中配置。

    imageUrlPrefix是前缀,我们填写项目名称就好,而imagePathFormat是图片的路径格式,可根据实际情况来填写。一般我们将图片放置于ueditor/jsp/upload/image文件夹下,并且按照时间的创建子文件夹。这两项配置好以后的代码如下:

     "imageUrlPrefix": "/wycrm/", /* 图片访问路径前缀 */
     "imagePathFormat": "/ueditor1_4_3/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */

      经过以上的一些配置,一般来说图片就可以正常的上传和显示了。

      

  • 相关阅读:
    leetcode-剑指10-OK
    leetcode-剑指22-OK
    vue组件引入
    vue项目单页
    vue-cli脚手架创建vue项目
    vue生命周期
    ES6 DEMO
    ES6
    记录一个天坑
    CentOS 7防火墙快速开放端口配置方法
  • 原文地址:https://www.cnblogs.com/roy-blog/p/7792415.html
Copyright © 2020-2023  润新知