□程裕強(qiáng),張茂勝,周國軍
(玉林師范學(xué)院 數(shù)學(xué)與信息科學(xué)學(xué)院,廣西 玉林 537000)
在Web開發(fā)中,在線編輯器是常用的圖文編輯工具.隨著信息社會發(fā)展,人們越來越多需要在Web進(jìn)行圖文編輯,比如商品描述、博文編輯、郵件編輯、新聞發(fā)布、論壇發(fā)帖以及相關(guān)回復(fù)評論等等,需要類似于Office的Word圖文編輯功能.在線編輯器應(yīng)運(yùn)而生,較為成熟的在線編輯器產(chǎn)品有FreeTextBox、CKEditor、FCKEditor、uedtior、KindEditor等等.
在Java Web開發(fā)中,將Struts2框架與在線編輯器整合是困難的,特別是基于AJAX異步傳輸?shù)腟truts2框架與在線編輯器整合實(shí)現(xiàn)文件上傳功能,這是復(fù)雜的.FCKeditor[1]雖然是一款功能強(qiáng)大的在線文本編輯器,在Java Web開發(fā)中應(yīng)用較多.但是FCKeditor與Struts2框架整合相對復(fù)雜,不易理解.在眾多的在線編輯器中,xhEditor[2]是一款國人開發(fā)的基于jQuery的在線可視化HTML編輯器.
xhEditor在線編輯器提供了豐富的文件上傳接口,但xhEditor本身沒有實(shí)現(xiàn)文件上傳功能,需要第三方按照自己的需求去實(shí)現(xiàn).現(xiàn)在,互聯(lián)網(wǎng)上可以較為方便地找到在線編輯器xhEditor在PHP和ASP.NET應(yīng)用開發(fā)中文件上傳代碼實(shí)現(xiàn)[3].但是在Java Web開發(fā)中,特別是在與Struts2框架整合時,很難找到成熟的Struts2+xhEditor整合的文件上傳代碼模塊.針對這一常見需求,本文提出并設(shè)計(jì)實(shí)現(xiàn)了一種基于Ajax+Struts2的xhEditor文件上傳模塊,并且源代碼開源,供大家參考.
Struts2是現(xiàn)在主流的Java Web MVC框架[4].要實(shí)現(xiàn)Struts2與xhEditor的整合,首先需要創(chuàng)建一個Struts2應(yīng)用項(xiàng)目(Java Web項(xiàng)目[5]),并將Struts2最小Jar包集[6]復(fù)制到對應(yīng)項(xiàng)目的lib目錄下面,其次將xhEditor和jquery相關(guān)的框架文件復(fù)制到項(xiàng)目對應(yīng)的Web目錄中.這是Struts2與xhEditor的整合工作的基礎(chǔ).下面分前臺頁面和后臺實(shí)現(xiàn)兩部分來實(shí)現(xiàn)Struts2與xhEditor的整合.
創(chuàng)建一個普通的JSP頁面,并在頁面中添加一個表單