App开发规范和说明
- 格式:doc
- 大小:77.50 KB
- 文档页数:9
针对app开发过程中的常用操作,进行了规范整理,如下:一、常用工具介绍1、执行命令在finedo.js中定义了常用的命令调用接口,详见FINEDO.Action定义,目前提供了四种命令,如下:1.1、doCommand:执行常规命令,主要应该在列表操作中,对数据记录的某些属性进行简单的修改操作,如启用禁用、升序降序等。
•接口定义/***一般性的命令操作,用于GET方式提交*url:调用的路径*callback:执行完成后的回调函数*alertmsg:执行完成后是否弹出返回信息*/doCommand:function(url,callback,alertmsg){FINEDO.Mode.create();$.getJSON(url, function(data){FINEDO.Mode.destroy();if(alertmsg){$.messager.alert("提示",data.resultdesc);}if($.isFunction(callback)){callback(data);}});}•调用方式if('1'==row.state){operation += '<a href="javascript:void(0)"onclick="FINEDO.Action.doCommand(\'${ctx}/finedo/sysparam/updateState ?paramid='+row.paramid+'&state=0\',doSearch,true)">[禁用]</a>';}else{operation += '<a href="javascript:void(0)"onclick="FINEDO.Action.doCommand(\'${ctx}/finedo/sysparam/updateState ?paramid='+row.paramid+'&state=1\',doSearch,true)">[启用]</a>';}1.2、doSearch:执行查询命令,主要应该在列表操作中,根据输入的查询参数执行数据记录的查询。
•接口定义/***执行命令*datagrid:指定查询的数据列表对象*url:调用的路径*data:查询参数*/,doSearch:function(datagrid,url,param){FINEDO.Mode.create();$.post(url,param,function(data){FINEDO.Mode.destroy();$('#'+datagrid).datagrid('loadData',data);},'json');}•调用方式function doSearch(){var param = {paramname: $('#paramname').val()};FINEDO.Action.doSearch('datagrid','${ctx }/finedo/sysparam/querys ysparam',param);}1.3、doDelete:执行删除命令,主要应该在列表操作中,对数据记录进行单条或批量删除操作。
•接口定义/***删除记录的公用方法*datagrid:指定被删除的数据列表对象*action:指定删除数据的处理方法*itemid:该值不为空时,则认为是单项删除*callback:执行完成后的回调函数*/,doDelete:function(datagrid,action,itemid,callback){var ids = [];var message = "您确定删除这些记录吗?";if(itemid){ids.push(itemid);message = "您确定删除该记录吗?";}else{var rows = $('#'+datagrid).datagrid('getSelections');for(var i=0; i<rows.length; i++){ids.push(rows[i].optsn);}}if(ids==""){$.messager.alert("提示","请选择要删除的记录!");return;}$.messager.confirm('提示', message, function(which){if (which){FINEDO.Mode.create();$.getJSON(action+'&ids='+ids.join(','), function(ret){FINEDO.Mode.destroy();$.messager.alert("提示",ret.retmsg);$('#'+datagrid).datagrid('reload');});}});}•调用方式var operation = '<a href="javascript:void(0)"onclick="FINEDO.Action.doDelete(\'datagrid\',\'${ctx}/finedo/sysparam /deleteSysParam\',\''+row.paramid+'\',doSearch)">[删除]</a> ';1.4、doSort:执行排序命令,主要应该在列表操作中,根据部分字段进行数据记录的排序显示。
•接口定义/***排序操作*datagrid:指定排序的数据列表对象*url:调用的路径*data:排序参数*/,doSort:function(datagrid,url,param){FINEDO.Mode.create();$.post(url,param,function(data){FINEDO.Mode.destroy();$('#'+datagrid).datagrid('reload');},'json');}•调用方式function doSort(){var param = {sortField: 'paramname',sortType:'up'};FINEDO.Action.doSort('datagrid','${ctx }/finedo/sysparam/sort',pa ram);}2、WEB控件参考“帮助→组件使用示例”。
二、CRUD示例以系统参数配置作为例子进行讲解。
1.查询➢视图层:构建数据列表及查询参数数据列表:<fsdp:grid id="datagrid"url="${ctx }/finedo/sysparam/querysysparam" title="当前页面:系统管理 >系统参数管理"toolbar="#tb"><fsdp:field code=""name=""checkbox="true"></fsdp:field><fsdp:field code="configtypename"name="参数类型"width="100"></fsdp:field><fsdp:field code="paramname"name="参数名称"width="120"></fsdp:field><fsdp:field code="paramvalue"name="参数值"width="159"></fsdp:field><fsdp:field code="datatype"name="数据类型"width="80"></fsdp:field><fsdp:field code="remark"name="描述"width="120"></fsdp:field><fsdp:field code="operation"name="操作"width="200"formatter="formatOperation"></fsdp:field></fsdp:grid>查询工具架:<fsdp:toolbar id="tb"><fsdp:buttonbar><fsdp:button iconcls="icon-add"name="添加"plain="true" onclick="location.href='${ctx }/fsdp/jsp/sysparam/add.jsp'"></fsdp:button><fsdp:button iconcls="icon-remove"name="删除"plain="true" onclick="FINEDO.Action.doDelete('datagrid','${ctx}/finedo/sysparam/de leteSysParam',null,doSearch)"></fsdp:button></fsdp:buttonbar><fsdp:searchbar><fsdp:text name="paramname"id="paramname"style="width:120px;"label="参数名称"></fsdp:text> <fsdp:button name="查询"iconcls="icon-search"onclick="doSearch()"></fsdp:button></fsdp:searchbar></fsdp:toolbar>定义查询函数:function doSearch(){var param = {paramname: $('#paramname').val()};FINEDO.Action.doSearch('datagrid','${ctx }/finedo/sysparam/querys ysparam',param);}➢控制层:调用系统参数查询服务,并组装数据/*** 查询系统参数* @param request* @return*/@RequestMapping("/querysysparam")@ResponseBodypublic Object querySysParam(HttpServletRequest request) { /*###################################################*封装查询参数对象*###################################################*/SysConfigureparam param = new SysConfigureparam();param.setParamname(request.getParameter("paramname"));/*###################################################*封装查询对象,查询对象一般包含查询参数对象及分页对象*###################################################*/SysConfigureParamQueryDomain query = new SysConfigureParamQueryDomain();query.setSysconfigureparam(param);// 设置查询参数对象query.setPageparam(PageUtil.getPageParam(request));// 设置分页参/*###################################################*调用服务类,获取数据列表*###################################################*/ReturnValueDomain<PageDomain<SysConfigureparam>> ret = ServiceCaller.callForPage("service/finedo/configure/querysysparam", query,SysConfigureparam.class);PageDomain<SysConfigureparam> page = ret.getObject();List<SysConfigureparam> list = page.getDatalist();/*###################################################*构建组件需要的JSON对象并返回*###################################################*/return PageUtil.build(list, page.getRowcount());}2.添加➢视图层:构建添加系统参数表单参考页面定义规范➢控制层:调用系统参数添加服务并返回结果信息/*** 添加系统参数* @param request* @return* @throws Exception*/@RequestMapping("/addSysParam")@ResponseBodypublic Object addSysParam(HttpServletRequest request) throws Exception{/*###################################################*封装系统参数对象*###################################################*/SysConfigureparam param = FormUtil.request2Domain(request, SysConfigureparam.class);/*###################################################*封装服务参数对象*###################################################*/List<SysConfigureparam> list = newArrayList<SysConfigureparam>();list.add(param);SysConfigureParamListDomain domain = new SysConfigureParamListDomain();domain.setConfigureparamlist(list);/*###################################################*调用服务进行数据保存,请返回消息给前台*###################################################*/ReturnValueDomain<SysConfigureparam> ret = ServiceCaller .call("service/finedo/configure/insertsysparam", domain,SysConfigureparam.class);param = ret.getObject();return ret;}3.修改➢视图层:构建修改系统参数表单参考页面定义规范➢控制层:调用系统参数修改服务并返回结果信息/*** 修改系统参数* @param request* @return* @throws Exception*/@RequestMapping("/modifySysParam")@ResponseBodypublic Object modifySysParam(HttpServletRequest request) throws Exception{/*###################################################*封装系统参数对象*###################################################*/SysConfigureparam param = FormUtil.request2Domain(request, SysConfigureparam.class);/*###################################################*封装服务参数对象*###################################################*/List<SysConfigureparam> list = newArrayList<SysConfigureparam>();list.add(param);SysConfigureParamListDomain domain = new SysConfigureParamListDomain();domain.setConfigureparamlist(list);/*###################################################*调用服务进行数据保存,请返回消息给前台*###################################################*/ReturnValueDomain<SysConfigureparam> ret = ServiceCaller.call("service/finedo/configure/updatesysparam", domain,SysConfigureparam.class);param = ret.getObject();return ret;}4.删除➢视图层:调用删除系统参数命令var operation = '<a href="javascript:void(0)"onclick="FINEDO.Action.doDelete(\'datagrid\',\'${ctx}/finedo/sysparam/deleteSysParam \',\''+row.paramid+'\',doSearch)">[删除]</a> ';➢控制层:调用系统参数删除服务并返回结果信息/*** 删除系统参数* @param request* @return* @throws Exception*/@RequestMapping("/deleteSysParam")@ResponseBodypublic Object deleteSysParam(HttpServletRequest request) throws Exception{/*###################################################*封装系统参数对象*###################################################*/SysConfigureparam param = FormUtil.request2Domain(request, SysConfigureparam.class);/*###################################################*封装服务参数对象*###################################################*/List<SysConfigureparam> list = newArrayList<SysConfigureparam>();list.add(param);SysConfigureParamListDomain domain = new SysConfigureParamListDomain();domain.setConfigureparamlist(list);/*###################################################*调用服务进行数据保存,请返回消息给前台*###################################################*/ReturnValueDomain<SysConfigureparam> ret = ServiceCaller .call("service/finedo/configure/deletesysparam", domain,SysConfigureparam.class);param = ret.getObject();return ret;}。