bos 第5天(定区的添加定区的分页查询hessian远程调用实现获取客户信息)
Posted 无极尊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bos 第5天(定区的添加定区的分页查询hessian远程调用实现获取客户信息)相关的知识,希望对你有一定的参考价值。
BOS项目笔记 第5天
今天内容安排:
1、添加定区功能
2、定区分页查询
3、hessian入门----远程调用技术
4、基于hessian实现定区关联客户
1. 添加定区
定区可以将取派员、分区、客户信息关联到一起。
页面:WEB-INF/pages/base/decidedzone.jsp
第一步:使用下拉框展示取派员数据,修改combobox的URL地址,发送请求
第二步:在StaffAction中提供listajax方法,查询没有作废的取派员,返回json数据
第三步:在StaffService中提供方法查询没有作废的取派员
第四步:在BaseDao中提供通用的条件查询方法
第五步:使用datagrid展示未关联到定区的分区数据
第六步:在SubareaAction中提供listajax方法,查询未关联到定分区的分区数据,返回json
Service代码:
第七步:为添加定区窗口中的保存按钮绑定事件
第八步:提交上面的添加定区表单,id名称冲突
第九步:在Subarea类中提供getSubareaid方法,返回的json中含有subareaid字段
第十步:创建定区管理的Action,提供add方法保存定区,提供subareaid 数组属性接收多个分区id
Service代码:
第十一步:配置struts.xml
2. 定区分页查询
l 页面修改datagrid的URL:
l 在定区Action中提供分页查询方法
修改Decidedzone.hbm.xml:
3. hessian入门
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
常见的远程调用的技术:
1、webservice(CXF、axis)soap
2、httpclient
3、hessian---http协议、二进制数据
4、dubbo---阿里巴巴
hessian有两种发布服务的方式:
1、使用hessian框架自己提供的Servlet发布
2、和spring整合发布服务
入门案例参见“hessian入门案例.txt”
4. 定区关联客户
4.1 发布crm服务
第一步:创建动态的web项目crm,导入hessian的jar
第二步:创建一个crm数据库和t_customer表
第三步:在web.xml中配置spring的DispatcherServlet
第四步:提供接口CustomerService和Customer类、hbm映射文件
第五步:为上面的CustomerService接口提供实现类
第六步:在WEB-INF目录提供spring的配置文件remoting-servlet.xml
4.2 在bos项目中调用crm服务获得客户数据
第一步:在bos项目中导入hessian的jar
第二步:从crm项目中复制CustomerService接口和Customer类到bos项目中
第三步:在spring配置文件中配置一个代理对象,可以调用crm服务
第四步:将上面的代理对象通过注解方式注入到Action中
第五步:为定区列表页面中的“关联客户”按钮绑定事件,发送2次ajax请求访问Action,在Action中调用hessian代理对象,通过代理对象可以远程访问crm获取客户数据
//全局变量,定区选中的定区id var id; function doAssociations(){ //判断当前是否选中了一个定区 var rows = $("#grid").datagrid("getSelections"); if(rows.length == 1){ id = rows[0].id; //选中了一个 $(‘#customerWindow‘).window(‘open‘); $("#noassociationSelect").empty();//清空下拉框 $("#associationSelect").empty();//清空下拉框
//发送ajax请求获取没有关联到定区的客户 var url1 = "${pageContext.request.contextPath}/decidedzoneAction_findnoassociationCustomers.action"; $.post(url1,{},function(data){ //解析json数据,填充到下拉框中 /////////////// for(var i=0;i<data.length;i++){ var id = data[i].id; var name = data[i].name; $("#noassociationSelect").append("<option value=‘"+id+"‘>"+name+"</option>"); } },‘json‘);
//发送ajax请求获取关联到当前选中定区的客户 var url2 = "${pageContext.request.contextPath}/decidedzoneAction_findhasassociationCustomers.action"; $.post(url2,{"id":rows[0].id},function(data){ //解析json数据,填充到下拉框中 /////////////// for(var i=0;i<data.length;i++){ var id = data[i].id; var name = data[i].name; $("#associationSelect").append("<option value=‘"+id+"‘>"+name+"</option>"); } },‘json‘); }else{ $.messager.alert("提示信息","请选择一个定区操作!","warning"); } } |
第六步:为左右移动按钮绑定事件
第七步:为关联客户窗口中的“关联客户”按钮绑定事件
第八步:在定区Action中接收提交的参数,调用crm服务实现定区关联客户业务功能
以上是关于bos 第5天(定区的添加定区的分页查询hessian远程调用实现获取客户信息)的主要内容,如果未能解决你的问题,请参考以下文章
JAVAEE——BOS物流项目06:分页查询分区导出Excel文件定区添加分页问题总结
bos 第4 (区域excel批量导入区域通用分页查询分区的添加分区多条件分页查询分区导出excel)
bos项目第一天(项目概述PowerDesignersvneasyui的使用)