一个快速的开发框架Wabacus

刚毕业进公司的时候接触到的一个框架,是一个大学的参赛项目。框架的介绍: Wabacus框架,是一个能大大提高J2EE项目开发效率的通用快速开发框架,与ExtJs,JQuery等纯客户端框架不同, 它提供的是前后台的完整解决方案,可以完成SSH框架的功能,但是开发效率比它快好几倍,因为基本上不用编写JSP/JAVA代码,或只要编写很少的代码。

框架的官网:点击打开链接

使用wabacus上手挺快的,他们有提供一个总的功能演示页面,集成到项目,按下载的文档配置即可。

介绍一下wabacus:

主要涉及的配置页面是:wabacus.cfg.xml,框架的总配置文件,框架的样式,数据源,使用到xml都在这里配置。

<?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:


<?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),开发起来也更快捷。

如果有比较复杂的逻辑,框架也支持拦截器模式的编程方式。以及自己设置动态模板等比较复杂的编程来实现复杂的业务逻辑。

而且如果有遇到不清楚的,可以上官网的论坛,开发者亲自为你解答,我第一次使用,感到惊讶,原来是作者给我们解答,那感觉真是不错。大笑

感觉第一次写,先写到这里。改框架也是比较早使用,现在也比较少使用,就不做细写,只做一个介绍好了。

最后贴几张效果图


一个快速的开发框架Wabacus_第1张图片 一个快速的开发框架Wabacus_第2张图片

你可能感兴趣的:(开发框架,wabacus)