写出几个重点的
<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等
分享到:
相关推荐
此外,`webwork.tld`文件引用表明WebWork的标签库将在JSP中可用,方便开发者使用WebWork的内置标签进行视图层的开发。 至于`xwork.xml`,这是WebWork的配置文件,定义了Action、拦截器等核心元素。在实际项目中,这...
`web.xml`则是标准的Servlet配置文件,虽然在WebWork中主要用来引导WebWork的初始化,但它也包含一些关键的WebWork配置: 1. **Servlet配置**:你需要配置`ActionServlet`,它是WebWork的核心Servlet,负责处理HTTP...
在IT领域,WebWork、Spring和Hibernate是三个非常重要的开源框架,它们分别专注于Action层、应用上下文管理和持久层操作。WebWork是一个基于MVC模式的Web应用框架,Spring是一个全面的企业级应用开发框架,而...
在这个“WebWork2配置”主题中,我们将深入探讨如何设置和优化WebWork2框架,以便在你的项目中实现高效且可维护的代码。 首先,WebWork2的配置主要涉及到以下几个方面: 1. **web.xml配置**:这是所有Java Web应用...
在 WebWork 中,配置是至关重要的,因为它定义了框架如何工作以及如何与应用交互。以下是 WebWork 配置的一些核心方面: 1. **web.xml** 文件:这是每个 Java Web 应用的标准部署描述符,用于配置Servlet过滤器和...
标题 "spring+hibernate+webwork相关配置" 指的是一个集成开发环境的配置,其中涵盖了三个关键的技术框架:Spring、Hibernate和WebWork。这些框架在Java Web开发中非常常见,主要用于实现依赖注入、持久化管理和MVC...
WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在...理解并正确配置这两个文件对于有效地使用WebWork进行Web开发至关重要。在实际项目中,你需要根据具体需求调整这些配置,以实现灵活且高效的MVC架构。
WebWork2支持使用Velocity作为视图层的渲染引擎,这需要在`Web.xml`中配置`WebWorkVelocityServlet`。此外,还需要配置`velocity.properties`文件来定制Velocity的行为。 #### 四、总结 通过以上配置,可以为...
总之,使用WebWork上传Excel并导入MySQL数据库是一项常见的任务,涉及到前端交互、文件上传处理、Excel解析和数据库操作等多个技术领域。理解并熟练掌握这些知识点对于开发企业级应用至关重要。在实践中,不断优化和...
WebWork是一个古老的Java Web应用程序框架,它在早期的开发中引入了控制反转(IoC,Inversion of Control)的概念,这种设计模式对于提高代码的可维护性和灵活性具有重要作用。在这个小例子中,我们将探讨WebWork...
6. **视图渲染**:WebWork使用JSP、FreeMarker或其他模板引擎作为视图技术,通过ActionSupport类和结果类型来决定如何渲染视图,使得视图层与控制层解耦。 7. **标签库**:WebWork提供了一套自定义的JSP标签,如`...
在这个“webwork+spring整合例子”中,很可能是提供了一个实际的项目示例,演示了如何配置和使用这两个框架的结合。这通常包括以下步骤: 1. 配置Spring的ApplicationContext,定义Bean并声明它们之间的依赖。 2. 在...
总结来说,WebWork 配置涉及Action的创建、ActionContext的理解和使用、ServletDispatcher的调度机制,以及Action的测试和Result Type的设置。熟练掌握这些知识点,能够帮助开发者高效地构建和维护基于WebWork的Java...
WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时可能遇到的所有问题的解答。 这套文档涵盖了以下几个主要的知识点: 1. **WebWork基础**:WebWork的核心概念,如Action、...
配置文件的正确存放位置对于WebWork项目的运行至关重要。如果项目中使用了JSP技术,那么`webwork.tld`文件应当与`web.xml`文件位于同一目录层级。这有助于Web服务器正确解析WebWork标签库。 ##### 1.4 配置web.xml ...
使用这个配置包,开发者可以直接导入项目,根据自身需求调整配置,快速启动一个集成了WebWork、Hibernate和Spring的项目。需要注意的是,由于框架和库的更新频繁,这个配置包可能需要根据最新的版本进行升级,以确保...
这个压缩包包含了两个关于Webwork的重要资源,即"Webwork2 Guide"和"webwork2doc_zh1[1]"电子书,对于学习和使用Webwork的用户来说是宝贵的参考资料。 首先,我们来看"Webwork2 Guide"。这本指南通常会提供Webwork2...
配置是WebWork2应用开发的重要环节。通过`webwork.xml`配置文件,开发者可以定义Action映射、拦截器配置、国际化资源等关键元素。合理的配置能够优化性能,减少耦合,提高应用程序的可维护性和可测试性。 ### 总结 ...
理解配置文件对于有效使用Webwork2至关重要。 8. **异常处理(Exception Handling)**:Webwork2提供了优雅的异常处理机制,允许开发者自定义错误页面和处理策略,确保应用程序在出现异常时仍能提供用户友好的反馈...