2010年07月14日 | Wizzer | 评论 Buffalo是国人开发的Ajax框架,它可以使用户在js中方便的调用java代码里的方法。 后台配置方法: 1. web.xml中配置相关servlet 如下: <!–buffalo ajax–> <servlet> <servlet-name>buffalo</servlet-name> <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>buffalo</servlet-name> <url-pattern>/buffalo/*</url-pattern> </servlet-mapping> 2. 需要引入的jar包为: 加入两个jar包:buffalo-2.0.jar和commons-logging-api-1.0.4.jar(下载包里有,下载地址见文章最后)。 注:若commons-logging-api-1.0.4.jar不加入,会抛出异常。 3. 编写需要调用的业务类。 如: 1. 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"; } } 4. 配置文件中配置业务类 配置文件为:buffalo-service.properties 位置在classes下 内容如下: desktopService=oa.ajax.desktopService 多个类则配置多个: 格式 名称=业务类全名 注意:js里则通过 desktopService来代替oa.ajax.desktopService类执行其中的业务方法 到此后台代码结束 下面为前台调用 5. 在jsp中引入js文件:prototype.js 和 buffalo.js 文件 <script type=”text/javascript” src=”js/prototype.js”></script> <script type=”text/javascript” src=”js/buffalo.js”></script> 6. 编写调用js代码 注意:helloService这个是配置文件中配置的名称 <script type="text/javascript"> var endPoint = "<%=request.getContextPath()%>/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) { } } </script> <input type=”button” value=”Buffalo远程调用” onclick=”getEventCount();”/> 消息<div id=”msg”></div> 信箱<div id=”mail”></div> 待办<div id=”wait”></div> Buffalo ajax 最新版下载地址:http://buffalo.sourceforge.net/download.html 1,476 total views, 1 views today