Open-JWeb(Java Web)
快速开发平台用户操作手册
王保政
QQ:29803446
声明:从即日
说明:
1、本文中的红字部分为待实现功能。蓝字部分为关键的正在开发的功能。
2、此快速平台的出现,证明了 Java Web 应用程序也可以进行 RAD 开发,也缩短了与 .NET 平台在快速开发方面存在的差距。
一、
用户登录
在浏览器地址栏输入登录页面的连接地址: http://localhost:8084/system
说明:如果服务器安装在别的地址和端口,请根据安装的地址和端口来访问登录页面。
( 由于本平台与 CAS 单点登录进行了集成,所以按 CAS 单点登录配置的应用和不连接 CAS 的方式,两种方式访问的登录连接是不一样的,上面的连接地址是不连接 CAS 的访问方式。 )
登录的用户名和口令:
用户名为 admin, 口令为 123456
登录页面:
输入用户名和口令后,点登录按钮进入系统管理。
二、
数据字典类型定义
选择开发平台 - 系统数据管理 - 数据字典类型定义,此功能维护系统使用的数据字典类型,平台已预先定义了一些数据字典类型,敬请不要修改和删除。
下面是功能列表页面:
用户在使用数据字典类型定义时,可根据自己的需要来添加业务系统的数据字典类型,例如商品维护需要使用计量单位,则可以增加一个计量单位数据字典类型。
下面演示一个计量单位数据字典类型的添加过程:
点上图的“新增”按钮,显示一个新增页面:
数据字典类型输入 PRO_UNIT, 名称输入物品计量单位,然后保存。点“返回”按钮可返回到列表页面。
l 修改功能 :
在列表页面打勾选择一行记录,点修改,进入修改页面,更改相关数据项后保存。注意如果数据字典类型字段的值被其他表引用的话,更改会失败,通常是更改数据字典类型的名称。
l 删除功能 :
在列表页面可勾选多行记录 , 然后点“删除”功能删除记录。
关于列表页面的翻页:
所有增删改查列表页面都使用了上图的样式,点“总数”按钮显示总页数和记录数,每组显示 5 页连接,每页显示行数可以自己设置,默认为 10 。
关于列表页面的排序:
列标题栏带下划线的文字可点击排序,点击一次按点击列的升序排列,再点一次按降序排列。见下图:
关于列表页面的查询:
查询内容为下拉的查询条件字段,当选择的查询条件列为从数据字典字段取值的列或者具有代码名称对照的列如:性别 -M ,则右侧的字段值为一个下拉选择框,否则显示的是文本输入框,设置好条件后点“查询”即可显示查询结果。如果没有定义任何查询列,则按无查询条件进行查询。
查询内容中的下拉字段是可以配置的,即可由用户来定义这个页面哪些字段作为查询条件字段,这个功能将在表字段元数据维护功能中说明。
定制查询:可定义组合的查询条件(目前暂未实现)。
帮助:目前暂未实现。
三、
数据字典定义
功能说明:为每一数据字典类型定义数据字典集合。例如计量单位数据字典类型下可定义公斤、件、箱等物品计量单位。列表页面见下图:
以物品计量单位为例,在列表页面点“新增”按钮,进入新增页面,填写内容后保存,见下图:
四、
表基本信息维护
功能说明:
(1) 新增:增加一个表的说明,此功能维护需要说明的是,表名对应的是数据库的表名,实体类名是表对应的实体类名 ( 包含类路径 ) ,这个类是对应此表的实体类,所以一定不要写错类名,否则在运行中可能会出错。
(2) 修改:选择一条记录修改,见下图:
(3) 删除:删除记录。
(4) 定义字段 :定义一个表包含的字段,如果需要使用建表功能,则字段定义完确认无误后才可以建表(定义字段目前是单独的一个功能,见下文,此按钮暂未建立功能连接)。
(5) 生成库表 :当表和表字段定义好后,点此按钮在数据库中创建表。(此功能正在开发中)。
(6) 编译部署 : 当表在数据库中创建以后,点编译部署后系统会自动创建 Hibernate 映射文件,生成相应的 POJO 类,及在 EntityContainer 类中注册此实体,并自动在功能树中创建功能节点并生成相应的增删改查页面(并自动创建访问权限)。以上操作完成后自动编译程序。此功能需要在服务器端调用。(目前此功能正在开发中)。
五、
表字段基本信息维护
(
列表样式
)
此功能是定义一个表的字段基本信息,在快速开发平台中,此功能点非常重要,因为字段信息维护不仅定义了用于建表的字段信息,还定义了字段在维护页面中的展示样式(如输入框、下拉框),并定义此字段是否在查询条件下拉框中显示,还定义了此字段如果是数据字典取值,则对应哪个数据字典类型,动态创建功能节点将根据此字段的展示样式来创建 JSP 页面。
使用此功能维护数据时,可先查询出需要增加字段的表的记录,查看哪些字段已添加,然后点新增按钮定义表字段,见下图列表页面:
编辑页面:
编辑页面的字段说明:
是否查询条件列勾选项:用于设置是否在列表页中的查询条件下拉框作为查询条件列显示。
是否在列表页面展示下拉框:勾选此项后,在动态生成列表页面时此字段可在列表页面显示。
是否在编辑页面显示:勾选此项后,在动态生成编辑页面时此字段可在编辑页面显示。
编辑页面输入方式:在动态生成页面时,此字段对应的输入栏的输入方式,包括输入框、多行输入框、下拉列表、 checkbox 等样式,动态生成页面根据此字段的定义,在生成的页面中按定义的输入类型生成对应的页面元素。
数据字典类型:如果此字段为从数据字典表取值,这里选择对应的数据字典类型。
代码表名值对 SQL :如果此字段不是从数据字典中取值,但是关联到某个表的代码列,那么此字段的值的取值范围为关联表的字段值,显示名称则为关联表对应记录的名称列,上图的 SQL:select dict_type_code,dict_type_name from eas_dict_type 表明此字段的取值范围是 eas_dict_type 表的 dict_type_code 字段,在下拉列表中的显示文字对应 dict_type_name 字段。
说明:当通过动态生成增删改查页面 4 ,有下拉列表的列会自动根据上面定义的规则创建一个下拉列表。
六、
内容管理
内容管理的信息编辑与发布功能提供了信息的编辑与发布功能,内容编辑器为所见即所得的编辑界面,可以粘贴 WORD 及 HTML 格式的文件,可以上传图片和 flash 文件,信息发布后可自动生成静态的 HTML 页面。
此功能可用于网站 CMS 管理系统,博客系统可用于 BLOG 的发布,信息列表页面如下:
点击信息标题连接可以查看此信息发布后的静态 html 页面。
编辑页面的样式:
编辑页面是所见即所得的页面,可随意改变文字的大小,字体及颜色等,也可以插入图片,保存信息后自动生成静态 html 文件(同时也保存在数据库中)。
七、
功能菜单维护
功能说明:此功能维护动态创建的功能点,通过此功能的 ” 生成功能代码 ” 按钮,系统可为选择的领域对象创建一个增删改查的页面,另外自动在功能树中建立一个功能连接,并且在 WEB-INF/classes 的 xwork.xml 中增加对应的配置代码。下图是列表页面:
编辑页面:
此页面定义了一个功能点,功能名为“动态功能测试“,权限码为 AUTH11, 功能导航条文字及对应的维护对象,本示例为 BLOG 信息表维护。
如何创建功能点?在上面的列表页面选择第二条记录,点生成功能代码按钮,刷新页面时,左侧功能树在动态功能的节点下会增加新的功能节点,点此新的功能节点可以看到一个列表页,此页面不同之处在于这是通过页面模板定制动态生成出来的,在开发过程中使用模板创建页面非常快速和方便,见下图:
编辑页面也是动态创建出来的,见下图:
上图中,文字输入框和下拉列表框都是在表字段基本信息维护中定义好的输入方式,创建页面时根据定义的输入方式来生成不同的页面元素。
八、
组织结构与权限-组织结构维护
组织结构维护中维护的基本信息目前仅包括了组织结构名称和组织结构类型,因为组织结构的详细信息在具体的项目中有差异,详细信息的维护可以在二次开发中实现。
组织结构的类型在数据字段已做了定义,大致包括:公司、部门、岗位、子公司、项目组或用户组、库房、门店、人员等,甚至可以包括分销代理商、供应商、客户等。
功能树的编码由系统自动生成。
添加子节点 :选择一个组织结构树节点,在此节点下增加一个子节点,如在单位下增加一个部门,或者在部门下增加一个子部门或员工。
添加同级节点 :在所选节点的同一级别下增加一个兄弟节点(有共同的父节点)。
保存 :保存更改(如果节点的名称改变,左侧树对应的节点名相应地改变)。
删除 :删除节点(左侧树中同时删除对应的节点)。
角色授权 :将指定的角色授予给一个组织结构,最常用的就是将一系列角色授予给一个人。见下图:
详细信息维护 :对于公司、部门、个人的详细信息的内容是不同的,目前实现的是个人登录帐号的信息维护,在组织结构树中选择一个人,然后点击详细信息维护,系统显示用户登录帐号信息的维护页面,见下图:
用户口令在数据库中是以 MD5 加密的方式存储的。
查看权限 :由于在设计时按照权限叠加的方式进行权限计算,所以这里列出一个组织结构的权限来源和权限汇总。同一权限 ID 可能从上级或上上级节点继承下来的,也可能是被另外的用户权限委托过来的,此功能正在开发中。
九、
角色基本信息维护
定义不同子系统的角色。角色是针对子系统的,权限 ID 也是针对子系统的,同一子系统的角色可获得属于本子系统的权限,不允许获得其他子系统的权限。下面是角色的列表页面:
编辑页面:
列表页面中的 权限分配 按钮功能是建立角色和权限的对照关系,点此按钮时弹出一个维护窗口:
组织结构分配功能是将角色授权给哪些组织机构,目前暂未实现,可在组织结构维护中将角色授权给组织机构。
十、
B
业务说明:在企业的应用系统中,用户的类型有本企业内部用户、针对电子商务和
ERP
系统可能有供应商和客户用户及分销代理商客户,这些类型的用户量相对比较少,而对于
B
十一、权限基本信息维护
此功能维护权限基本信息,一般权限的分类包括对 Web 资源的授权,如对某页面的访问权,对某 Web 目录的访问权,功能按钮的授权,功能连接的操作权限,业务方法的权限,领域对象权限(数据权限)等,此权限的权限编码统一以 AUTH_ 作为前缀,此权限集合可授权给角色,而角色与用户是关联的,因而用户可间接得到一个权限集合。本平台集成了 Acegi 安全框架,使用的权限集合就是此功能维护的数据。
十二、
Web
资源授权
此功能是一个非常重要的权限控制功能,可在运行时动态地将一个 WEB 资源的访问权限授予给指定的权限 ID ,也可以收回。权限更改后在约两分钟后生效,不需要重新启动应用,见下图:
上面的编辑界面将 web 应用的 testcase 目录下的所有资源(如 jsp 页面,其他文件等)
的访问权限授予给 AUTH_USER 和 AUTH_ADMIN 权限,如果登录用户没有这两个权限中的一个权限则不能访问 testcase 目录下的所有内容。从列表页中看出, index.jsp 被授予给了 AUTH_USER 用户。利用 acegi 强大的权限管理功能,可以建立一个功能非常权限的权限管理系统。
十三、综合查询
(1)综合查询后台维护-数据源定义:
定义综合查询报表、图表使用到的数据源:
业务说明:
企业的综合查询系统是关联到多个数据源的,这里定义报表、图表的综合查询需要访问的数据源的连接方式。
(2)报表/图表定义
定义报表/图表使用的数据源,相应的 SQL 语句,图表展示样式(如二维饼图,三维直方图等)等,列表页面:
综合查询图表:
平台的示例中包括了:机组日发电量统计、机组发电量对比分析、机组月份发电量统计、机组日发电量条形图、机组发电量三维饼图,查询日期请从2007年1月1日开始( demo 数据只有一月份的)。
执行查询后的图形:
(1) 机组日发电量统计曲线图
(2) 机组发电量对比分析
(3) 机组月份发电量统计
(4) 机组日发电量条形图
(5) 机组发电量三维饼图
综合查询-报表:
报表是基于 JasperReport 开发的报表,其中生成出来的报表直接按照 PDF 格式展示(正常支持中文),可在功能树中点综合查询(报表)下的报表功能点,在页面中点执行查询(按条件检索的功能正在进行开发)。
十三、其他说明
以上开发的内容从2007年11月19日开始,到2008年1月18日截止,利用业余时间开发,历时两个月时间,产品命名为 Open-JWeb, 版本为 1.0 版,主要实现了增删改查快速开发功能和权限管理,这个将作为 JavaWeb 应用快速开发的最基础的平台,以后的业务平台,工作流平台, BI 工具等将在继续在此基础上进行开发。基础平台与其他平台应该是松耦合的。
本平台在技术上采用了 Spring+struts+webwork+hibernate+acegi+dwr 技术,其中针对树形列表的页面及在线编辑器部分采用了 struts 控制层,增删改查的控制层和页面采用了 webwork 作为核心控制层。
本文介绍了本平台的使用说明,产品平台的开发手册在另外的文章里介绍。