去年毕业,刚参加工作不久,新到的一家公司,被通知项目要用新的框架,Wabacus,后上网下帮助文档,看demo自行学习!发现该框架简单易懂,上手很快。至于Wabacus的意义及用法,大家可以在百度百科上去详细了解,那里说得挺清楚的。接下来我简单介绍一下Wabacus的使用方法。(现在已经更新到4.0,很快4.1也就新鲜出炉啦。)
1、先将框架所需要的包及框架自带的配置文件拷的项目中去,具体可参照demo示例。
2、先来段代码,完整的增删改查功能
01.<page id="listpage1"> 02. <tabpanel id="tablistpage1" margin="10px" titlestyle="2" titlewidth="120px"> 03. <report id="reportlistpage1" title="员工信息列表" titlealign="center" pagesize="15" interceptor="com.wabacustest.SavePer" parenttitle="普通数据列表报表" type="editablelist2" dataexport="richexcel|word"> 04. <display> 05. <col column="{sequence:1}" label="序号"/> 06. <col column="no" label="工号"> 07. <inputbox type="textbox" value="seq_no" source="@{select seq_user.nextval as seq_no from dual}"></inputbox> 08. </col> 09. <col column="name" label="姓名"/> 10. <group label="基本信息"> 11. <col column="sex" label="性别"> 12. <inputbox type="radiobox"> 13. <option value="1" label="男"></option> 14. <option value="0" label="女"></option> 15. </inputbox> 16. </col> 17. <col column="age" label="年龄"/> 18. <col column="birthday" label="出生日期" datatype="date{yyyy-MM-dd}"> 19. <inputbox type="datepicker"></inputbox> 20. </col> 21. </group> 22. <col column="deptno" label="工号" displaytype="hidden"/> 23. <col column="deptname" label="所属部门" updatecol="@{deptno}"> 24. <inputbox type="selectbox"> 25. <option value="deptno" label="deptname" source="@{select deptno,deptname from tbl_department}"></option> 26. </inputbox> 27. </col> 28. </display> 29. <sql> 30. <select> 31. <value> 32. <![CDATA[ 33. select base.no,name,dept.deptno,sex,age,birthday,deptname from tbl_baseinfo base inner join tbl_department dept on 34. base.deptno=dept.deptno where {#condition#} 35. ]]> 36. </value> 37. <condition name="txtno" label="员工编号:" labelstyle="2"> 38. <value> 39. <![CDATA[ 40. base.no like '%#data#%' 41. ]]> 42. </value> 43. <inputbox type="textbox"> 44. <typeprompt> 45. <promptcol label="no" title="员工编号" matchmode="anywhere" casesensitive="false"></promptcol> 46. <datasource> 47. <option source="@{select no from tbl_baseinfo where no like {#matchcondition#}}"></option> 48. </datasource> 49. </typeprompt> 50. </inputbox> 51. </condition> 52. <condition name="txtname" label="员工姓名:" labelstyle="2"> 53. <value> 54. <![CDATA[name like '%#data#%']]> 55. </value> 56. </condition> 57. <condition name="txtsex" label="性别:" labelstyle="2"> 58. <value> 59. <![CDATA[sex like '#data#' ]]> 60. </value> 61. <inputbox type="selectbox"> 62. <option value="" label="不限"></option> 63. <option value="1" label="男"></option> 64. <option value="0" label="女"></option> 65. </inputbox> 66. </condition> 67. </select> 68. <insert> 69. <params> 70. <param name="seq_no" value="sequence{seq_user}"/> 71. </params> 72. <value> 73. insert into tbl_baseinfo(@{no},@{name},@{age},@{sex},@{birthday},@{deptno}); 74. </value> 75. </insert> 76. <update> 77. update tbl_baseinfo(@{name},@{age},@{sex},@{birthday},@{deptno}) where no=@{no}; 78. </update> 79. <delete> 80. delete from tbl_baseinfo where no=@{no} 81. </delete> 82. </sql> 83. <format> 84. <imports> 85. <import>java.text.*</import> 86. </imports> 87. <value> 88. <![CDATA[ 89. sex=sex==null?"1":sex.trim(); 90. if(sex.equals("1")){ 91. sex="男"; 92. }else{ 93. sex="女"; 94. } 95. ]]> 96. </value> 97. </format> 98. </report>
示例效果图:
report对应有多种报表类型,如:editablelist,editablelist2,crosslist,listform,blocklist,detail等等,不对的报表类型对应不同的报表效果。
这里的增删改查只需要配置相应的标签即可!页面上就会出现相应的按钮!
查询出的SQL语句中的字段,只要在<col>标签的column属性里对应,即可显示在页面上!
对于查询条件,只要配置<condition/>标签即可!
综上所述,还有很多功能,只需简单的配置一下xml配置文件即可实现!很多初学者都误以为Wabacus只能用来开发报表,其实这是个错误的理念,而实质上Wabacus是一个完整的javaEE开发框架,可以代替90%左右的ssh功能,但开发效率比后者高很多倍!