`
workhyj
  • 浏览: 1465 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

使用 webwork 的richtexteditor的一些重要配置

阅读更多

写出几个重点的

 <ww:form method="post" action="gethtmlstr">
  <ww:richtexteditor></ww:richtexteditor>   defaultLanguage ="UTF-8"
  theme ="simple"
   toolbarCanCollapse="false"
   width="700"
   label="testhtml"
   name="testhtml"
   /> 
 </ww:form>

 将static/下的东西拷至/webwork目录   [webwork-2.2.4.jar\com\opensymphony\webwork\stati] 

 webwork.properties

webwork.serve.static=false

webwork.multipart.parser=pell

 

 

重写类

package org.xx2.xx3;

import java.io.FileFilter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.servlet.ServletContext;

 

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.opensymphony.webwork.components.DefaultRichtexteditorConnector;
import com.opensymphony.webwork.views.util.UrlHelper;

public class RichtexteditorConnector extends DefaultRichtexteditorConnector {
   public static final Log _log = LogFactory.getLog(RichtexteditorConnector.class);

private ServletContext servletContext;

public void setServletContext(ServletContext servletContext) {
  this.servletContext = servletContext;
}

 protected String calculateActualServerPath(String actualServerPath,
     String type, String folderPath) throws Exception {
  String path = servletContext.getRealPath(actualServerPath);
  path = path.replace('\\', '/');
  makeDirIfNotExists(path);
  path = path.endsWith("/") ? path : path + "/";
  System.out.println("dddddddddddddddhyj:"+path + type + folderPath);
  return path + type + folderPath;
  
 }

 protected Folder[] getFolders(String virtualFolderPath, String type)
     throws Exception {
   String path = calculateActualServerPath(getActualServerPath(), type,
           virtualFolderPath);
   makeDirIfNotExists(path);
   java.io.File f = new java.io.File(path);
   java.io.File[] children = f.listFiles(new FileFilter() {
       public boolean accept(java.io.File pathname) {
           if (!pathname.isFile()) {
               return true;
           }
           return false;
       }
 }
  );

 List tmpFolders = new ArrayList();
  for (int a = 0; a < children.length; a++) {
      tmpFolders.add(new Folder(children[a].getName()));
  }
  
  return (Folder[]) tmpFolders.toArray(new Folder[0]);
 }

 protected FoldersAndFiles getFoldersAndFiles(String virtualFolderPath,
     String type) throws Exception {
   String path = calculateActualServerPath(getActualServerPath(), type,
           virtualFolderPath);
   makeDirIfNotExists(path);
   java.io.File f = new java.io.File(path);
   java.io.File[] children = f.listFiles();
   
   List directories = new ArrayList();
   List files = new ArrayList();
   for (int a = 0; a < children.length; a++) {
       if (children[a].isDirectory()) {
           directories.add(new Folder(children[a].getName()));
       } else {
           try {
               files.add(new File(children[a].getName(),
                       fileSizeInKBytes(children[a])));
           } catch (Exception e) {
               _log.error("cannot deal with file " + children[a], e);
           }
       }
 }

 return new FoldersAndFiles((Folder[]) directories
         .toArray(new Folder[0]), (File[]) files.toArray(new File[0]));
 }

 protected FileUploadResult fileUpload(String virtualFolderPath,
     String type, String filename, String contentType,
     java.io.File newFile) {
   try {
       String tmpDir = calculateActualServerPath(getActualServerPath(),
               type, virtualFolderPath);
       makeDirIfNotExists(tmpDir);
       String tmpFile = tmpDir + filename;
       if (makeFileIfNotExists(tmpFile)) {
           // already exists
           int a = 0;
           String ext = String.valueOf(a);
           tmpFile = calculateActualServerPath(getActualServerPath(),
                   type, virtualFolderPath)
                   + filename + ext;
           while (makeFileIfNotExists(tmpFile)) {
               a = a + 1;
               ext = String.valueOf(a);
               if (a > 100) {
                   return FileUploadResult.invalidFile();
               }
           }
           copyFile(newFile, new java.io.File(tmpFile));
           return FileUploadResult
                   .uploadCompleteWithFilenamChanged(filename + ext);
       } else {
           copyFile(newFile, new java.io.File(tmpFile));
           return FileUploadResult.uploadComplete();
       }
   } catch (Exception e) {
       _log.error(e.toString(), e);
       e.printStackTrace();
       return FileUploadResult.invalidFile();
   }
 }

protected void unknownCommand(String command, String virtualFolderPath,
    String type, String filename, String contentType,
    java.io.File newFile) {
throw new RuntimeException("unknown command " + command);
}

  /**
  *
  * @param path
  * @return true if file already exists, false otherwise.
  */
  protected boolean makeDirIfNotExists(String path) {
  java.io.File dir = new java.io.File(path);
  if (!dir.exists()) {
      _log.debug("make directory " + dir);
      boolean ok = dir.mkdirs();
      if (!ok) {
          throw new RuntimeException("cannot make directory " + dir);
      }
      return false;
  }
  return true;
  }

  protected boolean makeFileIfNotExists(String filePath) throws IOException {
  java.io.File f = new java.io.File(filePath);
  if (!f.exists()) {
      _log.debug("creating file " + filePath);
      boolean ok = f.createNewFile();
      if (!ok) {
          throw new RuntimeException("cannot create file " + filePath);
      }
      return false;
  }
  return true;
  }

}

xwork的配置

     <package namespace="/webwork/richtexteditor/editor/filemanager/browser/default/connectors/jsp" extends="webwork-default" name="richtexteditor-browse"></package>
 <action class="org.xx2.xx3.RichtexteditorConnector" method="browse" name="connector"></action> 
           <result name="getFolders" type="richtexteditorGetFolders"></result>

     

upload上传的附件夹可以自动创建!

 

 \Fckeditor\editor\filemanager\browser\default\frmupload.html
add
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

 <meta http-equiv="content-type" content="text/html; charset=UTF-8">

谢谢.http://www.blogjava.net/mmwy/archive/2006/09/11/68928.html

 

 

 

分享到:
评论

相关推荐

    Spring + hibernate + webwork + freemarker 整合配置

    此外,`webwork.tld`文件引用表明WebWork的标签库将在JSP中可用,方便开发者使用WebWork的内置标签进行视图层的开发。 至于`xwork.xml`,这是WebWork的配置文件,定义了Action、拦截器等核心元素。在实际项目中,这...

    webwork 配置文件

    `web.xml`则是标准的Servlet配置文件,虽然在WebWork中主要用来引导WebWork的初始化,但它也包含一些关键的WebWork配置: 1. **Servlet配置**:你需要配置`ActionServlet`,它是WebWork的核心Servlet,负责处理HTTP...

    webwork Spring hibernate整合配置.doc

    在IT领域,WebWork、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于Action层、应用上下文管理和持久层操作。WebWork是一个基于MVC模式的Web应用框架,Spring是一个全面的企业级应用开发框架,而...

    WebWork2配置

    在这个“WebWork2配置”主题中,我们将深入探讨如何设置和优化WebWork2框架,以便在你的项目中实现高效且可维护的代码。 首先,WebWork2的配置主要涉及到以下几个方面: 1. **web.xml配置**:这是所有Java Web应用...

    WEBWORK

    在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作以及如何与应用交互。以下是 WebWork 配置的一些核心方面: 1. **web.xml** 文件:这是每个 Java Web 应用的标准部署描述符,用于配置Servlet过滤器和...

    spring+hibernate+webwork相关配置

    标题 "spring+hibernate+webwork相关配置" 指的是一个集成开发环境的配置,其中涵盖了三个关键的技术框架:Spring、Hibernate和WebWork。这些框架在Java Web开发中非常常见,主要用于实现依赖注入、持久化管理和MVC...

    webWork,xwork.xml,web.xml配置

    WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在...理解并正确配置这两个文件对于有效地使用WebWork进行Web开发至关重要。在实际项目中,你需要根据具体需求调整这些配置,以实现灵活且高效的MVC架构。

    WebWork2配置.pdf

    WebWork2支持使用Velocity作为视图层的渲染引擎,这需要在`Web.xml`中配置`WebWorkVelocityServlet`。此外,还需要配置`velocity.properties`文件来定制Velocity的行为。 #### 四、总结 通过以上配置,可以为...

    使用webwork上传excel并导入数据库

    总之,使用WebWork上传Excel并导入MySQL数据库是一项常见的任务,涉及到前端交互、文件上传处理、Excel解析和数据库操作等多个技术领域。理解并熟练掌握这些知识点对于开发企业级应用至关重要。在实践中,不断优化和...

    webwork 控制反转小例子,配置文件的写法

    WebWork是一个古老的Java Web应用程序框架,它在早期的开发中引入了控制反转(IoC,Inversion of Control)的概念,这种设计模式对于提高代码的可维护性和灵活性具有重要作用。在这个小例子中,我们将探讨WebWork...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    6. **视图渲染**:WebWork使用JSP、FreeMarker或其他模板引擎作为视图技术,通过ActionSupport类和结果类型来决定如何渲染视图,使得视图层与控制层解耦。 7. **标签库**:WebWork提供了一套自定义的JSP标签,如`...

    webwork+spring整合例子 内带使用说明 以及webwork文档(中文)

    在这个“webwork+spring整合例子”中,很可能是提供了一个实际的项目示例,演示了如何配置和使用这两个框架的结合。这通常包括以下步骤: 1. 配置Spring的ApplicationContext,定义Bean并声明它们之间的依赖。 2. 在...

    webwork配置详解

    总结来说,WebWork 配置涉及Action的创建、ActionContext的理解和使用、ServletDispatcher的调度机制,以及Action的测试和Result Type的设置。熟练掌握这些知识点,能够帮助开发者高效地构建和维护基于WebWork的Java...

    WebWork docs 2 -- webWork 详细的说明文档

    WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时可能遇到的所有问题的解答。 这套文档涵盖了以下几个主要的知识点: 1. **WebWork基础**:WebWork的核心概念,如Action、...

    webwork操作手册.doc

    配置文件的正确存放位置对于WebWork项目的运行至关重要。如果项目中使用了JSP技术,那么`webwork.tld`文件应当与`web.xml`文件位于同一目录层级。这有助于Web服务器正确解析WebWork标签库。 ##### 1.4 配置web.xml ...

    webwork+hibernate+spring配置包

    使用这个配置包,开发者可以直接导入项目,根据自身需求调整配置,快速启动一个集成了WebWork、Hibernate和Spring的项目。需要注意的是,由于框架和库的更新频繁,这个配置包可能需要根据最新的版本进行升级,以确保...

    webwork电子书

    这个压缩包包含了两个关于Webwork的重要资源,即"Webwork2 Guide"和"webwork2doc_zh1[1]"电子书,对于学习和使用Webwork的用户来说是宝贵的参考资料。 首先,我们来看"Webwork2 Guide"。这本指南通常会提供Webwork2...

    webwork

    配置是WebWork2应用开发的重要环节。通过`webwork.xml`配置文件,开发者可以定义Action映射、拦截器配置、国际化资源等关键元素。合理的配置能够优化性能,减少耦合,提高应用程序的可维护性和可测试性。 ### 总结 ...

    Webwork2_guide

    理解配置文件对于有效使用Webwork2至关重要。 8. **异常处理(Exception Handling)**:Webwork2提供了优雅的异常处理机制,允许开发者自定义错误页面和处理策略,确保应用程序在出现异常时仍能提供用户友好的反馈...

Global site tag (gtag.js) - Google Analytics