wmframework v2.0 手册(四)代码编写说明

来源:互联网 发布:mysql生成uuid 编辑:程序博客网 时间:2024/05/16 03:08

 

    基于WMframework构建的web系统,对于前端用户表单页面jsp,主要由如下部分构成:表头(head业务展现自定义部分 + 表尾(bottom,对于表头(head)、表尾(bottom)常规情况下我们均是按照include的形式公共引用的,基于WMframework构建的web系统也是如此。

1、前台页面头(head

 

这里我们通过<%@include file="/includes/IncludeTop.jsp" %>实现了公共表头的引入。

2、 页面表单

2.1、HTML DOM元素属性说明
除了常见html元素(element)对象所具备的属性外,本次系统我们加入了几个自定义的属性(名称对大小写敏感):
issave:当前元素element值是否需要保存(默认为不需要,所以不写表示不提交该元素的值)
fieldname: 当前元素element对应后台数据对象(domain)的属性名(名称对大小写敏感)
require: 当前元素element值是否为必填(默认为不需要,所以不写表示选填)
datatype:当前元素element值的数据类型
目前已定义的数据类型:

数据类型值

数据类型说明

date

日期类型 yyyy-mm-dd

number

数字类型0-9

integer

整形数字

double

浮点数字(仅支持小数点后2位) XXXX.XX

chars

字符型(目前用于校验用户名、密码等)

showmessage: 当前元素element值没有通过校验时提示的消息;

以下属性可选择添加

(仅在需要进行dom对象元素比较的时候添加)

compareObject:当前元素与之比较的元素id

compareType:比较类型

目前已定义的比较类型:

比较类型值

比较类型说明

equal

= 等于

notequal

!= 不等于

greaterthan

>= 大于等于

greaterequal

> 大于

lessthan

<= 小于等于

lessequal

< 小于

compareMessage:对比错误时需要给出的提示信息

(仅在使用form构建XmlDocument 对象时使用)

vos:当前元素对应domain对象名称

vo:当前元素对应domain对象组的序号

funcname:当前元素对应操作sqlmap的名称

以下是一个demo,供大家参考:

 

3、数据校验

全部页面表单通过/WebRoot/js/ validate.js进行数据校验,必须把提交的数据封装在一个form(一个页面可以设置多个form表单)中,详情可查看/WebRoot/js/oa/user/user.jsp中的格式。

4、表单数据提交

可以使用两种方式提交:页面元素构建枚举数组获得XMLDOC对象和页面元素直接拼接XML字符串获得XMLDOC对象

4.1、页面元素构建枚举数组获得XMLDOC对象方式 

(一)  新增

  •  单表(一个domain)数据提交

代码自动生成,修改表单元素布局即可。对应HTML DOM元素属性vo属性值可不加考虑。

注意:须保证HTML DOM元素存放于<form>节点中

  • 单表(多个domain)数据提交

代码自动生成,修改表单元素布局即可。复制已生成domain各属性HTML DOM对象,以vo属性值标识当前所属记录。

注意:须保证HTML DOM元素存放于<form>节点中

  • 多表(一个domain)数据提交

代码自动生成,修改表单元素布局即可。不同domain对象以vos属性值标识、对应HTML DOM元素属性vo属性值可不加考虑。

注意:须保证HTML DOM元素存放于<form>节点中

  •  多表多domain数据提交

综合以上

(二)  修改

代码自动生成、修改表单元素布局即可。

(三)  保存

代码自动生成、修改表单元素布局即可。

(四)  删除

代码自动生成、修改表单元素布局即可。

(五)  查看

代码自动生成、修改表单元素布局即可。

(六)  查询

代码自动生成、修改表单元素布局即可。

  • 分页条显示设置

1.grid中默认显示数据每页为15条,

2.自定义页显示数量,在QueryDomain节点中增加pagesize节点、数量,如:+" < pagesize>20</ pagesize> "

3. 当pagesize节点设置为 -1 时,对当前数据部采用分页显示,也不显示分页条

  • 序号显示设置

1.grid中设置序号列显示表头的位置,及相关其他属性(注意必须设置到用户结果集表头前)

如:mygrid.setHeader("选择,序号,用户ID,用户账号,用户名称,创建时间");

2. 在QueryDomain节点中增加显示序号标志,默认不需要序号,即不添加+" <isIdx>true</isIdx> "

  • 单元数据码名转换设置

在QueryDomain节点中增加optflds节点,并设置需要转换的属性和option名称,多个以逗号隔开。

格式如下: optionName@fieldName,optionName@fieldName

如:+" <flds> OrgOption@orgId,DocTypeOption@docType</flds> "

  •  自定义查询js函数设置

系统中默认的js查询函数名称为go,可自行定义,在QueryDomain节点中增加jsFunction节点即可。也可以设置参数。如果一个页面涉及多个查询,多个grid时可以使用当前方式区别

如: +”<jsFunction>testgo<jsFunction>”

4.2、字符串获得XMLDOC对象方式

(须注意XML格式的规范性,不然不能获得XMLDOC对象)

1、由js脚步执行,遍历当前提交表单。获得用户数据,基于js脚本的字符串拼接操作构建XML格式数据。

2、将当前字符串对象赋值WMparamObject.js对象、其余不变

可供参考的列子example:

 


5、XML数据节点说明

    WMframework只需要将要提交到后端进行业务处理的数据打包成如下的XML文档提交到后台即可由后台的共用服务组件进行业务处理。

5.1、提交数据格式

节点结构

example:

 


5.2、后台返回数据处理

      对于通常情况下主要业务的新增、删除、更新操作后直接调用父类,开发人员无需自定义相关后台处理(action、dao、service)等。操作成功:super.doWriteResponse(response, "1");操作失败:super.doWriteResponse(response, "0");
      如当前需自定义扩展后台处理,需在继承ParentAction的基础上进行改写,并实现虚方法getData。具体可参考com.bizsys.web.UserAction的写法

 

 


6、注意的问题

1)现有数据表的映射对象已存放在 package com.ccs.govoa.domain 下,需要自行增加时请提交相关说明

2)所有sqlmap必须全部存放在package com.ccs.govoa. mappings 下,sql中执行方法的<insert id="insertUser" parameterClass="user"> 名称必须全局(本系统内所有sqlmap)唯一,大小写敏感

3)<vos id="OaUser">节点的属性值id必须是domain对象的类名,大小写敏感

4)<function>insertUser</function> 必须对应sqlMap中执行中的方法名称,大小写敏感

5)请严格按照系统开发流程制作每个模块

6)请完全按照页面表单元素属性说明来添加自定义的属性、值

7)业务后台类中不能写任何关闭当前连接(connect)的语句

8)业务后台类中不能写任何开启事务,关闭事务的语句

9)业务类中的异常可捕获调试,但必须向外仍出

 

原创粉丝点击