Jul
3
类Buffalo
在一般的情况下,Buffalo类可以解决大多数的问题
Buffalo(gateway, async, events, options)
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| gateway | string | Bufapp Servlet的地址 | true | N/A |
| async | boolean | 是否异步请求 | false | true |
| events | object | 待响应的事件 | false | 参见 如何自定义事件 |
| options | object | 其他选项 | false | timeout=10000 |
var buffalo = new Buffalo("/bfapp/buffalo");
发送一个异步请求:
var buffalo = new Buffalo("/bfapp/buffalo", false);
remoteCall(service, params, callback)
remoteCall 会封装所有指定的参数来远程调用指定的服务,并且用回调方法处理结果
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| service | string | 服务的类名和方法名, 格式为 "serviceName.methodName" | true | N/A |
| params | Array | 远程调用的参数 | true | N/A |
| callback | function | 回调方法, 会将 Buffalo.Reply 作为此方法的参数 | true | N/A |
示例:
buffalo.remoteCall("helloService.hello", ['Michael'], function(reply) { alert(reply.getResult()); })reply.getResult() 方法会返回几乎和原始定义的Java对象一样的javascript对象
或者:
buffalo.remoteCall("helloService.hello", ['Michael'], myfunc); function myfunc(reply) { alert(reply.getResult()); }- setEvents(events)
setEvents 会为buffalo实例指定自定义的事件响应方法
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| events | object | 事件响应 | true | N/A |
buffalo.setEvents({onLoading:myloading}}) function myloading(state) { if (state) {window.status = "loading..."; } else {window.status = "load completed."; } }或者可以直接这样做:
buffalo.events["onLoading"] = myloading;bindReply(service, params, elementId)
bindReply 会发送一个远程调用并且把返回的结果绑定指定的HTML元素
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| service | string | 服务的类名和方法名, 格式为 "serviceName.methodName" | true | N/A |
| params | Array | 远程调用的参数 | true | N/A |
| elementId | string | 要绑定的html元素id | true | N/A |
举个简单例子:调用 simpleService.provincesNames 方法然后把返回的所有"省"绑定在 id=select_provinde的html元素上.
你可以阅读 绑定 获得更多信息.
buffalo.bindReply("simpleService.provincesNames",[],"select_province");
switchView(viewName)
switchView 会请求指定的 <视图名称> 然后把所有的内容加载到 id=body 的 div 元素中,并且会把此次操作记录在浏览器的历史记录中。从而可以方便地使用浏览器的前进\后退功能
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| viewName | string | 视图的url | true | N/A |
buffalo.switchView("help.html");switchPart(viewName, partId, addToHistory)
switchPart 会请求指定的 <视图名称> 然后把所有的内容加载到 id=<指定元素的id> 的元素中,并且可以通过指定 <addToHistory>的参数来决定是否把此次操作记录在浏览器的历史记录中。
| 参数名称 | 参数类型 | 参数说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
| viewName | string | 视图的url | true | N/A |
| partId | string | 要替换的div元素的id | true | N/A |
| addToHistory | boolean | 此操作是否加入浏览器历史 | true | N/A |
绑定
如何自定义事件


