一
.通过js调用
1.在htm中写一个按钮,当点击按钮的时候,触发一个js事件:
2.js中[图片]通过httpClient.handleTrans(cdoRequest, cdoResponse);调用和strServiceName对应的service类中的与strTransName对应的方法。另外带了一个参数 name,这个name是从htm中获取的。(可以是用户输入的,然后点击查询,那么用户输入的参数就应该被获取到,并且存到cdo对象中,传到后台数据库中,作为 查询的条件)
3.service类:调用的service的类名与cdo中的strServiceName一样,service中调用的方法名与cdo对象中的strTransName一样,service.handleDataTrans(cdoRequest, cdoResponse);
调用相应的xml文件,cdo对象中的strServiceName对应的值与xml的名字一样,cdo对象中的strTransName对应的值与xml中TransName一样,就可以实现执行相对应的sql语句。
4.执行对应的xml文件:
其中,OutputId的值与Return中需要返回的ValueId相对应,FieldId是cdoResponse对象中的一个元素,类型是goods,goods中的属性有gName,gId。gName,gId这些别名是在sql语句中确定的。
其中Code,Info是返回给service的数据。service又将Return对象传给调用它的js,js再进行页面的渲染。
二.通过Controller调用
1.在htm中通过velocity调用Controller
2.Controller通过BusinessService.getInstance().handleTrans(cdoRequest, cdoResponse);调用service。service再去调用xml,返回一个结果。
根据返回的数据集Return的状态,如果成功查询到了,就把cdoResponse的对象返回给页面,htm中再进行取值等一系列操作。