传智播客——OA初步和Xtree

经过前面两天的学习,大家应当掌握了一定的JBPM开发的技能,从今天开始,我们将进行6天的OA实战开发演练,经过这6天的学习,希望大家能够熟练掌握JBPM办公自动化系统的开发。好了,我们继续吧!

1.       在前面ITCASTBBS学习中,我们使用ThreadLocal<Session>来保证请求过程中始终对应同一个Session,在OA开发中,JBPM中的JbpmContext会产生一个Session,所以,我们应该使用ThreadLocal<JbpmContext>而不是ThreadLocal<Session>来保证请求过程中始终对应同一个Session

2.       对于经常用到的对象,我们应当抽象出它的方法,需要用到对象时,调用该方法获取它的实例对象。这里我们可以有一个JbpmContextManager的工具类,然后定义一个getJbpmContext()的方法用于获取JbpmContext的实例对象。这样的思路在开发中经常使用到,以后,我就不重申了,希望大家牢牢掌握

3.       使用Filter来操作事务,这里直接使用JbpmContext来管理事务

4.       在页面中显示树状部门列表:使用Xtree,Xtree的使用方法很简单,可以参考Xtree提供的官方文档

5.       将从数据库查询得到的数据展示成Xtree样式,这里需要使用到递归算法,提供一个实例供大家参考:

public static String showCode(Collection<Department> depts, String node) {

        String allCode = "";

 

        for (Department dept : depts) {

               String nodeAction = "javascript:selMe('" + dept.getId() + "', '" + dept.getName() + "')";

               String code = "var item_" + dept.getId() + " =  " + node + ".add(new WebFXTreeItem('" + dept.getName() + "', /""

                             + nodeAction + "/"));/n";

               allCode += code;

 

               allCode += showCode(dept.getChildren(), "item_" + dept.getId()); // "item_" + dept.getId()

        }

 

        return allCode;

}

6.       在页面中显示模式对话框:这个步骤主要使用JSHTML的知识,主要流程:在需要弹出模式对话框的选项栏设置readonly属性为true,这里打开模式对话框使用的方法是window.showMedalDialog(),可以通过传入参数来定制模式对话框大小

7.       在模式对话框中选择一个部门,更新员工所属部门的信息:模式对话框默认点击打开一个新的窗口,这里需要指定模式对话框页面属性<base target="_self">;更新员工所属部门信息需要调用Dom对象的forms属性为当前window窗口的对应属性赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值