(1) 创建页面流:
在左边的资源管理器中展开“EOSTrippingcom.primeton.relationmgr展现页面流”,右键选中页面流下面的com.primeton.relationmgr包,在弹出的菜单中选择“创建页面流”,如图4-21所示。
选择页面流后,在弹出的创建页面流的向导中输入文件名“relationmgr”,显示名称“关联表维护”,点击【完成】,如图4-22所示。
页面流创建完成后,会在构件编辑视图中自动打开,默认生成开始和结束图元。
(2) 定义页面流:
根据案例描述,可以得知业务过程是:首先模拟一个登录操作,作用是给登录用户的角色和机构ID赋值,然后显示一个查询页面,输入查询条件,然后提交,系统根据登录用户的角色查询满足条件的记录,然后显示一个列表,并可以对这个列表进行翻页操作。
按照这个过程,在页面流的选用版中先拖拽一个“赋值”图元用来模拟登录,然后拖拽一个“视图”图元作为查询页面,拖拽一个“逻辑流”图元用来做查询操作,查询结果最后返回到页面上,可以在结束图元中设置返回页面。用选用板上的“连接线”依次连接起来。整体流程设置完后,建议将EOS默认产生的图元或action连线名称改为跟业务相关的名称,并从选用板上拖拽“注释”图元,规范开发的同时也方便以后代码的维护。设置后的页面流如图4-23所示。
(3) 设置“模拟登录”:
一般的应用中登录成功后,会将用户的相关信息保存在HTTP Session中,这里我们并没有做登录操作,又希望用到用户角色,就模拟一个登录操作,用常量给用户角色和机构ID赋值。在页面流中使用s:XPATH_EXPRESSION来访问会话数据区中的数据。通过双击“模拟登录”图元,弹出设置对话框,参数设置如图4-24所示。
(4) 定义页面流级别变量:
EOS6可以把一组相关的业务操作设计在一个页面流中,比如对一个对象的新增、修改、删除和查询都可以用一个页面流来完成。那么这几个操作之间要互相用到一些数据时,就需要从页面上手动以隐藏域的方式传递数据。针对这种情况,EOS6可以通过定义页面流级别的变量在页面流中共享数据。
本案例中,将查询条件对象(com.primeton.das.criteria.criteriaType)和分页对象(类型为com.eos.foundation.PageCond)设置成页面流级别的变量。在页面流的空白处双击鼠标,在弹出来的对话框中定义flow级别变量的名称、类型和是否是数组信息,这里定义查询条件对象变量为criteria,分页对象变量为page,如图4-25所示。点击【确定】,完成设置,保存页面流。