AJAX+Struts2+xhEditor整合与实现
2015-05-28程裕强张茂胜周国军
□程裕强,张茂胜,周国军
(玉林师范学院 数学与信息科学学院,广西 玉林 537000)
1 引言
在Web开发中,在线编辑器是常用的图文编辑工具.随着信息社会发展,人们越来越多需要在Web进行图文编辑,比如商品描述、博文编辑、邮件编辑、新闻发布、论坛发帖以及相关回复评论等等,需要类似于Office的Word图文编辑功能.在线编辑器应运而生,较为成熟的在线编辑器产品有FreeTextBox、CKEditor、FCKEditor、uedtior、KindEditor等等.
在Java Web开发中,将Struts2框架与在线编辑器整合是困难的,特别是基于AJAX异步传输的Struts2框架与在线编辑器整合实现文件上传功能,这是复杂的.FCKeditor[1]虽然是一款功能强大的在线文本编辑器,在Java Web开发中应用较多.但是FCKeditor与Struts2框架整合相对复杂,不易理解.在众多的在线编辑器中,xhEditor[2]是一款国人开发的基于jQuery的在线可视化HTML编辑器.
xhEditor在线编辑器提供了丰富的文件上传接口,但xhEditor本身没有实现文件上传功能,需要第三方按照自己的需求去实现.现在,互联网上可以较为方便地找到在线编辑器xhEditor在PHP和ASP.NET应用开发中文件上传代码实现[3].但是在Java Web开发中,特别是在与Struts2框架整合时,很难找到成熟的Struts2+xhEditor整合的文件上传代码模块.针对这一常见需求,本文提出并设计实现了一种基于Ajax+Struts2的xhEditor文件上传模块,并且源代码开源,供大家参考.
2 框架整合
Struts2是现在主流的Java Web MVC框架[4].要实现Struts2与xhEditor的整合,首先需要创建一个Struts2应用项目(Java Web项目[5]),并将Struts2最小Jar包集[6]复制到对应项目的lib目录下面,其次将xhEditor和jquery相关的框架文件复制到项目对应的Web目录中.这是Struts2与xhEditor的整合工作的基础.下面分前台页面和后台实现两部分来实现Struts2与xhEditor的整合.
2.1 前台页面
创建一个普通的JSP页面,并在页面中添加一个表单