码迷,mamicode.com
首页 > 其他好文 > 详细

bos 第5天(定区的添加、定区的分页查询、hessian远程调用实现获取客户信息)

时间:2017-05-31 22:13:21      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:option   oci   roman   ide   message   分区   hbm.xml   empty   jsp   

BOS项目笔记 第5

 

今天内容安排:

1、添加定区功能

2、定区分页查询

3hessian入门----远程调用技术

4、基于hessian实现定区关联客户

 

1. 添加定区

定区可以将取派员、分区、客户信息关联到一起。

页面:WEB-INF/pages/base/decidedzone.jsp

 

第一步:使用下拉框展示取派员数据,修改comboboxURL地址,发送请求

 

 

第二步:在StaffAction中提供listajax方法,查询没有作废的取派员,返回json数据

 

第三步:在StaffService中提供方法查询没有作废的取派员

 

第四步:在BaseDao中提供通用的条件查询方法

 

 

第五步:使用datagrid展示未关联到定区的分区数据

 

 

第六步:在SubareaAction中提供listajax方法,查询未关联到定分区的分区数据,返回json

 

Service代码:

 

第七步:为添加定区窗口中的保存按钮绑定事件

 

第八步:提交上面的添加定区表单,id名称冲突

 

第九步:在Subarea类中提供getSubareaid方法,返回的json中含有subareaid字段

 

 

第十步:创建定区管理的Action,提供add方法保存定区,提供subareaid 数组属性接收多个分区id

 

Service代码:

 

第十一步:配置struts.xml

 

2. 定区分页查询

页面修改datagridURL

 

在定区Action中提供分页查询方法

 

修改Decidedzone.hbm.xml

 

 

3. hessian入门

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebServiceHessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

常见的远程调用的技术:

1webserviceCXFaxissoap

2httpclient

3hessian---http协议、二进制数据

4dubbo---阿里巴巴

 

hessian有两种发布服务的方式:

1、使用hessian框架自己提供的Servlet发布

2、和spring整合发布服务

 

入门案例参见hessian入门案例.txt

 

4. 定区关联客户

4.1 发布crm服务

第一步:创建动态的web项目crm,导入hessianjar

第二步:创建一个crm数据库和t_customer

第三步web.xml中配置springDispatcherServlet

 

第四步:提供接口CustomerServiceCustomer类、hbm映射文件

 

第五步:为上面的CustomerService接口提供实现类

 

第六步:在WEB-INF目录提供spring的配置文件remoting-servlet.xml

 

4.2 bos项目中调用crm服务获得客户数据

第一步:在bos项目中导入hessianjar

第二步:从crm项目中复制CustomerService接口和Customer类到bos项目中

第三步:在spring配置文件中配置一个代理对象,可以调用crm服务

 

第四步:将上面的代理对象通过注解方式注入到Action

 

第五步:为定区列表页面中的“关联客户”按钮绑定事件,发送2ajax请求访问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远程调用实现获取客户信息)

标签:option   oci   roman   ide   message   分区   hbm.xml   empty   jsp   

原文地址:http://www.cnblogs.com/wujizun/p/6926031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!