前段時間作了一個簡單的企業信息網站,主要用到一些開源的框架和插件,網站開發完了,把用到的東西寫出來分享一下java
網站功能分析jquery
(1)網站信息維護:網站信息分爲不少種類型,有本身網站發佈的新聞、知識,也有從其餘網站上轉載的相關內容,從功能上看都相似,內容主要是富文本,都已經抽象爲信息維護功能,包括企業簡介之類的,都抽象爲網站的信息,只是屬於特殊的類型,所以也延伸出另外一個需求,網站信息類型維護;數據庫
(2)網站連接管理:網站連接,主要是爲了豐富網站內容,方便用戶使用,提高用戶體驗,因爲該網站屬於特定行業的企業網站,須要用到一些行業相關的搜索引擎和引用其餘一些知名網站,因此須要在網站首頁給用戶提供經常使用連接,也分爲好幾個類型,所以也延伸出來另外一個需求,網站連接類型維護;json
(3)客戶留言管理:方便企業採集客戶在線的留言內容,因爲網站不須要客戶註冊,直接經過留言的表單填寫客戶信息,功能相對簡單一些架構
網站簡單架構框架
整個網站分爲兩個子系統,分別爲後臺管理子系統和網站子系統,後臺管理子系統是提供給企業管理員使用的,而網站子系統是放在公網上提供給網民使用的異步
之因此說簡單,是由於整個網站的功能比較少,也都是一些常規功能,因此架構也相對簡單一些jsp
因爲要進行快速開發,採用主流的開源框架Struts2+Spring+Hibernate來搭建整個網站的後臺架構,異步訪問後臺數據使用json-rpc-for-java插件,雖然是國產的,可是使用比較簡單,幾乎不須要額外的配置編輯器
後臺管理子系統的UI框架,考慮過DWZ,最終仍是使用LigerUI,功能相對豐富,使用也比較靈活一些,而富文本編輯器則使用fckeditor,JAVA版有現成的jsp標籤能夠直接使用,上傳圖片也已經集成好了佈局
網站子系統的UI則直接使用HTML+CSS搞定,外加jquery的js庫作一些特效、kkpager分頁插件、artDialog彈出框插件
常見問題解決
一、LigerUI編輯表格數據如何保存到數據庫
LigerGrid的數據先轉換成json字符串,傳遞到後臺以後再還原成JAVA對象,因爲前臺js要調用後臺,索性也使用json-rpc-for-java搞定
二、富文本信息轉換成json如何處理特殊字符
剛開始想使用jquery的base64插件,後來測試發現有些特殊字符仍是處理不了,因而回到最原始的辦法,直接用encodeURI編碼兩次,後臺再使用URLDecoder.decode()解碼便可
頁面效果展現
網站沒啥好展現的,主要看看後臺一些改造LigerUI默認風格的頁面
一、可編輯表格
後臺的修改時間是日期類型,在前臺已經轉換成字符串類型,回寫到數據庫以前須要再轉換成日期類型
二、查詢表格
查詢條件能夠點擊左側圖片收縮或者展開,查詢表單佈局沒有使用LigerUI默認的方式,直接使用的table
三、帶底部按鈕欄的表單
底部的按鈕不會隨着表單縱向滾動而滾動,即鎖定位置在底部
四、帶頂部按鈕欄的表單
頂部的按鈕,不會隨着表單縱向滾動而滾動,即鎖定位置在頂部