Wabacus框架
Wabacus框架,是一个能大大提高J2EE项目开发效率的通用快速开发框架,与ExtJs,JQuery等纯客户端框架不同, 它提供的是前后台的完整解决方案,可以完成SSH框架的功能,但是开发效率比它快好几倍,因为基本上不用编写JSP/JAVA代码,或只要编写很少的代码。 ----摘自wabacus官网
作者 不详 笔名吴星星。
ITEYE对Wabacus专访,里面主要提到的就是代码少,开发快,易扩展,的确在项目整个的开发过程中这点得到了很好的认证。但是整个框架相对比较死板,要实现一些高级功能,例如好看的图表,类似echarts,需要去修改源码,或者自己动手去实现。好在该框架能很好的和几大著名的框架类似spring能够很好的结合在一块。
整个框架的使用,个人感觉核心在官方文档的阅读和理解上。作者给出的文档相对比较全面,一般问题都能够在文档中得到答案,而且,官方论坛作者的回复还是比较快,几乎也能够解决所遇到的问题。采用框架去做开发时,主要还是xml文件的一个配置,配置数据报表的相关展示界面和数据来源,剩下的有框架搞定。
利用该框架我们主要做了一个数据库管理系统,整体上就是各种数据报表的展示。下面十一个例子。
<report id="report1" title="员工信息列表" parenttitle="普通数据列表报表" dataexport="richexcel|word">
<display>
<col column="{sequence:1}" label="序号"></col>
<col column="no" label="工号" clickorderby="true" valuestyleproperty="style='mso-number-format:\@' width='15%'"></col>
<col column="name" label="姓名" clickorderby="true" width="15%"></col>
<group label="基本信息">
<col column="sex" label="性别"></col>
<col column="age" label="年龄" clickorderby="true" filter="true" filterwidth="120px"></col>
<col column="birthday" label="出生日期" clickorderby="true" displaytype="always"></col>
</group>
<col column="deptname" label="所属部门" filter="true" filterwidth="120px"></col>
</display>
<sql>
<value>
<![CDATA[SELECT no,name,sex,age,birthday,deptname FROM tbl_baseinfo A left join tbl_department B on A.deptno=B.deptno where {#condition#} order by no]]>
</value>
<condition name="txtno" label="工号">
<value>
<![CDATA[(no like '%#data#%' )]]>
</value>
</condition>
<condition name="txtname" label="姓名">
<value>
<![CDATA[(name like '%#data#%' )]]>
</value>
</condition>
<condition name="txtsex" label="性别">
<value>
<![CDATA[(sex =#data#)]]>
</value>
<inputbox type="selectbox">
<option value="" label="性别"></option>
<option value="1" label="男"></option>
<option value="0" label="女"></option>
</inputbox>
</condition>
</sql>
<format>
<value>
sex=sex==null?"1":sex.trim();
if(sex.equals("0")) sex="女";
else sex="男";
birthday=birthday==null?"":birthday.trim();
int idx=birthday.indexOf(" ");//判断是否有时间,有的话就去掉时间,只显示日期
if(idx>0) birthday=birthday.substring(0,idx);
</value>
</format>
</report>
上面是部分代码和效果的展示。下面总结一下。
如果你的项目数据主要是通过报表的形式或者你的项目中有大量的数据报表都可以考虑引入该框架。但是,个人觉得该框架不够灵活,在前端的现实上控制起来不是很方便,最重要的是,这个框架还有一些漏洞,例如,在tomcat 执行redeploy过多时会出现方法区溢出问题,and,在解决这个问题的时候,发现我们的项目在运行的时候,字符串占用了30%的堆内存,这个还有待后续考证问题的所在。
总之,这个框架开发效果是很快,而且容易上手,有没有开发经历的都很容易上手,但是框架不够灵活。
再就是想要了解可以看一下这篇文章下面的评论部分。