剛畢業進公司的時候接觸到的一個框架,是一個大學的參賽項目。框架的介紹: Wabacus框架,是一個能大大提升J2EE項目開發效率的通用快速開發框架,與ExtJs,JQuery等純客戶端框架不一樣, 它提供的是先後臺的完整解決方案,能夠完成SSH框架的功能,可是開發效率比它快好幾倍,由於基本上不用編寫JSP/JAVA代碼,或只要編寫不多的代碼。 html
框架的官網:點擊打開連接 web
使用wabacus上手挺快的,他們有提供一個總的功能演示頁面,集成到項目,按下載的文檔配置便可。 sql
介紹一下wabacus: 編程
主要涉及的配置頁面是:wabacus.cfg.xml,框架的總配置文件,框架的樣式,數據源,使用到xml都在這裏配置。 api
<?xml version="1.0" encoding="UTF-8"?> <wabacus-config xmlns="http://www.wabacus.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wabacus.com xsd/wabacus.cfg.xsd"> <system> <item name="webroot" value="/eccReport"/><!-- 應用的根URL --> <item name="webroot-abspath" value=""/><!-- 默認爲context.getRealPath("/")獲取的值,能夠直接配置根路徑 --> <item name="showreport-url" value="/ShowReport.wx"/><!--顯示報表數據的URL,就是在web.xml中配置的<url-pattern/>的值能夠帶參數--> <item name="encode" value="GBK"/> <item name="show-sql" value="true"/><!-- 是否顯示執行的SQL語句或存儲過程 --> <item name="default-cellresize" value="2"/><!-- 指定整個項目中全部單行表頭的數據自動列表報表的表格單元格默承認移動性 --> <item name="default-labelstyle" value="1"/><!-- 查詢條件提示標籤的顯示位置 --> <item name="server-validate-class" value="com.wabacusdemo.TestServerValidate"/><!-- 本身開發的服務器端校驗類 --> <item name="skin" value="qq"/><!-- 皮膚樣式 --> <item name="dataimport-batchupdate-size" value="1"/> <item name="default-checkpermission" value="true"/><!-- 本應用是否要檢查權限,若是在不須要檢查權限的應用中關閉它,能夠改善性能 --> <item name="default-pagepersonalizeclass" value="com.wabacusdemo.TestPagePersonalizePersistenceImpl"/><!-- 默認保存頁面個性化信息的類 --> <item name="default-reportpersonalizeclass" value="com.wabacusdemo.TestReportPersonalizePersistenceImpl"/><!-- 默認保存報表/表單個性化信息的類 --> </system>
框架的頁面是用xml去配置出來的:與傳統的編寫html,jsp這些不一樣,其實就是把頁面改爲xml的一個個標籤去配置便可,在把編寫的xml配置到總的配置文件,便可經過固定的url訪問pageId就能夠訪問到,並且使用xml支持熱部署這點挺方便的。至於各個標籤就不列了,框架的文檔都有比較詳細的列出。框架會本身在整個頁面加載過程當中以攔截器的方式把數據封裝成對象給予想要作更復雜邏輯提供開發,若是要作攔截器開發,建議看一下提供api裏面列出了框架封裝的幾個重要對象的方法,能夠更好的去操做這些數據。框架在最後也提供了一些js事件與配置讓前臺的js的代碼也能夠實現一些本身須要的功能,總之框架在擴展性方面作的也是不錯。 服務器
列出一個比較簡單的配置的xml: app
<?xml version="1.0" encoding="UTF-8"?> <applications xmlns="http://www.wabacus.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wabacus.com ../xsd/wabacus.applications.xsd"> <!-- 各項目需求統計報表 --> <page id="wwh22"> <report id="report_22" title="各項目需求統計報表" type="editablelist" dataexport="richexcel|word"> <display> <col column="GROUP_ID" label="組號" valuestyleproperty="style='mso-number-format:\@' " clickorderby="true"> </col> <col column="GROUP_NAME" label="組名稱" valuestyleproperty="style='mso-number-format:\@' " clickorderby="true"> </col> <col column="Module_Id" label="模塊ID" displaytype="hidden"> </col> </display> <sql type="statement"> <select> <value> <![CDATA[select G.GROUP_ID, G.GROUP_NAME, G.Module_Id,E.MODULE_NAME from EF_CLIENT_GROUP_INFO G, ef_module E where G.module_id=E.MODULE_ID and {#condition#} ]]> </value> <condition name="begintime" labelposition="left" datatype="date" label="開始時間:" > <value> <![CDATA[(a.openedDate >= '#data#')]]> </value> </condition> <condition name="endtime" labelposition="left" datatype="date" label="結束時間:" > <value> <![CDATA[(a.openedDate <= '#data#')]]> </value> </condition> </select> </sql> </report> </page> </applications>
好比我給公司作一些簡單的報表也是使用該框架。框架如今也集成了圖表等形式(functioncharts),開發起來也更快捷。 框架
若是有比較複雜的邏輯,框架也支持攔截器模式的編程方式。以及本身設置動態模板等比較複雜的編程來實現複雜的業務邏輯。 jsp
並且若是有遇到不清楚的,能夠上官網的論壇,開發者親自爲你解答,我第一次使用,感到驚訝,原來是做者給咱們解答,那感受真是不錯。 性能
感受第一次寫,先寫到這裏。改框架也是比較早使用,如今也比較少使用,就不作細寫,只作一個介紹好了。
最後貼幾張效果圖