`
YiSingQ
  • 浏览: 88092 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

xhEditor文件上传的Java实现

    博客分类:
  • Web
阅读更多
最近在做项目的时候需要使用到HTML编辑器,虽然FCKEditor、CKEditor等很多现成的工具,但是为了相对的轻量级设计,选择了xhEditor。苦于网上很难找到相关的基于Java的后台实现,故花了点时间做了个编辑器的小demo,主要是解决图片上传的问题。
以下是对xhEditor使用的基本总结:
1、下载xhEditor最新版本【这里演示的是1.0.0 – RC3】
下载地址:http://code.google.com/p/xheditor/downloads/list

2、解压压缩文件
【demo文件夹中可以查看各种形式的配置实例】,将其中的jquery-1.4.2.min.js、xheditor-zh-cn.min.js【这里暂时使用中文版】以及 xheditor_emot、xheditor_plugins和xheditor_skin三个文件夹拷贝到项目的相应目录。

3、在相应html文件的head标签结束之前添加:

<script src="jquery-1.4.2.min.js"  type="text/javascript"></script>
<script src="xheditor-zh-cn.min.js"  type="text/javascript"></script>

4、调用方法有两种:

方法1:在textarea上添加属性: class="xheditor {skin:'default'}",前面主参数也可以是xheditor-mini和xheditor-simple,分别加载迷你和简单工具栏,后面详细参数可以省略。
【推荐使用】方法2:
在您的页面初始JS代码里加上: $(“#xh_editor”).xheditor();

$(document).ready(function()
$('#xh_editor').xheditor({
tools:'full',
skin:'default',
upMultiple:false,
upImgUrl: "/servlet/XhEditorUploadServlet",
upImgExt: "jpg,jpeg,gif,bmp,png",
onUpload:insertUpload //
指定回调函数,需要自己另外在编写函数实现回调处理.
});
});

 

5、使用MyEclipse创建Java Web项目

把下载的xhEditor源代码包中的相关文件拷贝到自己的web目录,可以创建一个文件夹scripts存放。

如下图所示:
 

 

可以看出我们大致需要这几个步骤:


获取xheditor源文件并放置到项目的相应位置。


加入文件上传组件需要的jar包。


指定文件存放目录ARTICLE_IMG。


创建Servlet文件,并在web.xml中配置路径。


创建并编写基于jquery脚本的xheditor.html文件。



6、 编写HTML或者JSP页面


 
注意:上述代码基于jquery。upImgUrl属性配置的是图片上传的后台路径,/xheditor/servlet /UploadFileServlet:xheditor属于项目名称,后面的/servlet/UploadFileServlet是web.xml中配置的servlet地址。

7、 编写后台文件上传处理的Servlet代码


 

8、web.xml的servlet配置


 

9、 配置基本完成,部署到tomcat容器测试。

打来浏览器,进入HTML页面,xheditor编辑器初始化状态。如图所示。



 

10、 图片上传到后台并且显示到编辑器
点击工具栏的图片上传按钮,然后根据上传按钮选择本地文件,图片将立刻以AJAX的方式上传到后台。如图所示。




图片文件上传成功后,点击确定按钮才能把图片显示到编辑器中,同时页面下方将会保存checkbox,对应的是文件的名称,这样方便页面提交后,到后台相应的目录寻找文章对应的图片有那些,然后可以把图片写入到数据库。


11、上传成功的结果示例图


 
到这里基于Java后台的xheditor编辑器的图片上传功能基本实现完毕,编辑器基于jquery编写,具有非常好的拓展性和伸缩性,各位读者还可以根据自己的兴趣慢慢挖掘源代码包中的其他示例,同时也能用Java去实现它们,这样就最好咯。以后我们做项目的时候就可以立刻拿来使用,方便快捷,省去很多麻烦事。

总结:
本示例只是简单地选取了xheditor的其中一个 Ajax图片上传模块,还有其他很多的编辑器示例可以使用,请各位读者有空可以慢慢研究下,相互交流下心得这次做这个示例也是应为网上很难能找到关于 Java项目如何是用xheditor的资料,故花了几天的时间搞出这个小demo。

 

如果有哪些地方错误或者不对的地方请各位指正,谢谢。附件中带有demo源代码。
  • 大小: 14.8 KB
  • 大小: 75.2 KB
  • 大小: 188.4 KB
  • 大小: 33.5 KB
  • 大小: 10.3 KB
  • 大小: 14.7 KB
  • 大小: 303.1 KB
分享到:
评论
12 楼 qust008 2013-01-30  
无私奉献的精神
11 楼 liuzidong 2011-08-08  
不错,
10 楼 seachen 2011-03-09  
非常不错。
9 楼 Stop孤独 2010-12-05  
有人解决了在火狐不能上传的问题了么?
8 楼 wmwdg 2010-10-18  
http://blog.sina.com.cn/s/blog_454fbf740100lh7w.html

增加html5支持
7 楼 wmwdg 2010-10-16  
6 楼 wmwdg 2010-10-15  
火狐下我也遇到了这个错误:the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is application/octet-stream,据说是转为html5上传的问题,不会改。。。
5 楼 YiSingQ 2010-09-13  
kwj 写道
有以下错误的:
the request doesn't contain a multipart/form-data or multipart/mixed stream, con
tent type header is application/octet-stream

我记得好像火狐会出问题,麻烦各位好手帮帮找找解决的办法,谢谢。。。
4 楼 kwj 2010-09-13  
有以下错误的:
the request doesn't contain a multipart/form-data or multipart/mixed stream, con
tent type header is application/octet-stream
3 楼 dackylike 2010-09-13  
很好,感谢了
2 楼 Neptune_9999 2010-08-19  
谢谢~很好的例子,收下了
1 楼 zhongrf 2010-07-09  
写的好,正需要呢,谢谢了啊

相关推荐

    xhEditor文件上传的Java实现.pdf

    xhEditor文件上传的Java实现 xhEditor是基于JavaScript的在线富文本编辑器,它提供了多种实用的功能,如文本编辑、图片上传、文件上传等。以下是xhEditor文件上传的Java实现的相关知识点: xhEditor简介 xhEditor...

    xhEditor编缉器下使用java上传的类文件

    xhEditor编缉器,用于java开发时,上传文件,同时解决了在火狐上使用时报错的问题,主要是因为火狐上传时使用的是HTML5,如何解决请花1分吧!! 记得把xheditor里的上传改成servlet的路径呀!!

    xheditor for java

    本文将详细讲解如何在Java环境下集成并使用XHEditor,以及如何将编辑的数据存储到数据库中,实现实时预览和批量排版。 一、XHEditor简介 XHEditor以其轻量级、易用性和高度可定制性著称。它提供了丰富的编辑功能,...

    xhEditor struts2实现图片上传

    xhEditor是一款开源的JavaScript富文本编辑器,它提供了丰富的编辑功能,如字体样式设置、颜色调整、图片和文件上传等。而Struts2则是一个强大的MVC框架,用于构建Java Web应用。 首先,我们需要了解xhEditor的基本...

    xheditor编辑器实现图片上传

    以上代码处理了文件上传,并将保存的文件名返回给XHEditor。XHEditor会根据返回的文件名插入到编辑器中。 最后,用户在XHEditor中点击“插入图片”按钮,选择本地图片后,编辑器会自动发起POST请求到设定的`...

    xheditor Java代码

    本文档主要介绍了一段与`xheditor`相关的Java代码,这段代码实现了一个文件上传功能,支持火狐(Firefox)和IE浏览器。`xheditor`是一款轻量级且易用的富文本编辑器,广泛应用于网页端的文本编辑场景。 #### 二、...

    jquery.xheditor和jquery,uploadify实现文件上传完整实例

    jquery xheditor是jquery中较好的编辑器插件,而jquery.uploadify也是jquery实现文件上传很优秀的插件,本项目实例解决了两个插件文件上传的问题,对于应用学习两个插件,实现文件上传,具有很好的参考价值,同时本例子是...

    xheditor 在线编辑器jsp/ava实现版

    集成xheditor到Java Web项目中,开发者需要了解其API和配置文件,通过JavaScript调用来实现编辑器的初始化和功能定制。同时,后端需要处理上传请求,保存上传的文件,并返回相应的URL给前端展示。 总的来说,...

    Xheditor 富文本编辑器 Java版

    Java版的Xheditor是将该编辑器与Java后端技术相结合,以实现更高效的数据处理和服务器交互。 1. **富文本编辑器的基本概念** 富文本编辑器允许用户在网页上创建和编辑格式化的文本,包括字体、颜色、样式、图像...

    xheditor-1.1.14

    参数值:大于0的数值,默认:99,设置为1关闭多文件上传 说明:本功能需要浏览器支持HTML5上传 备注:1.0.0 RC3新添加 upLinkUrl:超链接文件上传接收URL 参数值:接收用户上传的服务器端程序URL,默认留空为禁用...

    xheditor jsp完整实例

    【xheditor jsp完整实例】是一个基于XHEditor的Web富文本编辑器的应用示例,主要用于在Java服务器页面(JSP)上实现用户友好的文本编辑功能。XHEditor是一款开源的JavaScript富文本编辑器,它提供了丰富的API和...

    xheditor集成struts2上传图片

    总之,集成xheditor和Struts2进行图片上传涉及到前端编辑器配置、后端Action处理、文件上传拦截器配置以及安全策略的制定。这是一个典型的前后端交互案例,对于理解和实践Web应用开发具有重要价值。通过这个过程,...

    HTML 在线编辑xheditor

    xheditor以其简单易用和高度可定制性深受开发者喜爱,特别是对Java开发者的友好性,使其在Java项目中广泛应用。 **1. xheditor特性** - **多语言支持**:xheditor内置多种语言包,满足不同地区用户的需求。 - **...

    可以插入本地图片的在线编辑器(xheditor)

    为了实现这一功能,xheditor 内部可能集成了自定义的服务器端处理逻辑,例如这里提到的 `UploadLocalPicAction.java` 文件,很可能就是用于处理图片上传的Java代码。 【标签】"xheditor" 和 "在线编辑器" 是对这个...

    xheditor的使用

    在服务器端,XHEditor通常通过Ajax请求与后端进行交互,例如,保存编辑的内容或上传文件。这需要开发者在服务器端设置相应的接收和处理请求的接口。对于Java开发者来说,可能涉及到Servlet或Spring MVC等相关技术。 ...

    xheditor 1.2.2.zip

    内置强大的Ajax上传,包括HTML4和HTML5上传支持(多文件上传、真实上传进度及文件拖放上传),追求完美的用户上传体验。 Word完美支持 实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化...

    jsp版xheditor

    在上述代码中,`$("#editor").xheditor()`是初始化编辑器的操作,`tools: "full"`表示使用全部工具,`upImgUrl`和`upImgExt`则分别设置了图片上传的URL和允许的文件类型。 **总结** XHEditor作为一款强大的富文本...

    Struts 架构下使用XhEditor

    为了处理文件上传,我们需要在Struts配置文件中定义一个对应的Action,处理上传请求。这个Action可能需要处理文件流,将文件保存到服务器,并返回上传成功的消息。同时,我们还需要确保Struts的配置文件中已经启用了...

    xhEditorHTML编辑器

    你需要在后端(例如Spring MVC)设置一个接收上传请求的Controller,并处理文件上传逻辑。通常,这包括验证文件类型、大小,以及保存到服务器的指定位置。 ```java @Controller public class UploadController { @...

Global site tag (gtag.js) - Google Analytics