Wabacus框架简单介绍

Wabacus是一款提高J2EE项目开发效率的框架,本文通过一个数据库管理系统的实例介绍了其配置方式与应用特点。该框架适合报表密集型项目,简化了JSP/JAVA代码编写,但在前端展示灵活性方面有所欠缺。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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%的堆内存,这个还有待后续考证问题的所在。
总之,这个框架开发效果是很快,而且容易上手,有没有开发经历的都很容易上手,但是框架不够灵活。
再就是想要了解可以看一下这篇文章下面的评论部分。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值