Buffalo ajax实例
Buffalo是国人开发的Ajax框架,它可以使用户在js中方便的调用java代码里的方法。
后台配置方法:
- web.xml中配置相关servlet 如下:
buffalo net.buffalo.web.servlet.ApplicationServlet
buffalo /buffalo/*
- 需要引入的jar包为:
加入两个jar包:buffalo-2.0.jar和commons-logging-api-1.0.4.jar(下载包里有,下载地址见文章最后)。
注:若commons-logging-api-1.0.4.jar不加入,会抛出异常。
- 编写需要调用的业务类。 如:
- desktopService.java
package oa.ajax;
/**
- Created by IntelliJ IDEA.
- User: wizzer
- Date: 2010-7-15
- Time: 16:08:22
-
To change this template use File | Settings | File Templates. */ public class desktopService { public String getInfoCount(String userId,String depId){
return "0|1|2"; }}
- 配置文件中配置业务类
配置文件为:buffalo-service.properties 位置在classes下 内容如下: desktopService=oa.ajax.desktopService 多个类则配置多个: 格式 名称=业务类全名 注意:js里则通过 desktopService来代替oa.ajax.desktopService类执行其中的业务方法 到此后台代码结束
下面为前台调用
- 在jsp中引入js文件:prototype.js 和 buffalo.js 文件
- 编写调用js代码
注意:helloService这个是配置文件中配置的名称
var endPoint = "/buffalo";
var buffalo = new Buffalo(endPoint);
var userId= "wizzer";
var deptId = "HITS";
function getEventCount() {
try {
var buffalo = new Buffalo(endPointTop);
buffalo.remoteCall("desktopService.getInfoCount", [userId, deptId], function(reply) {
var str = reply.getResult();
var ary = str.split("|");
document.getElementById("msg").innerHTML = "(" + ary[0] + ")";
document.getElementById("mail").innerHTML = "(" + ary[1] + ")";
document.getElementById("wait").innerHTML = "(" + ary[2] + ")";
});
} catch (ex) {
}
}
消息
信箱 待办 Buffalo ajax 最新版下载地址:http://buffalo.sourceforge.net/download.html本文地址:https://wizzer.cn/archives/232 , 转载请保留.