﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学习笔迹-随笔分类-AJAX</title><link>http://www.blogjava.net/chenlb/category/17119.html</link><description>好记性不如烂笔头!</description><language>zh-cn</language><lastBuildDate>Mon, 12 Nov 2007 14:20:19 GMT</lastBuildDate><pubDate>Mon, 12 Nov 2007 14:20:19 GMT</pubDate><ttl>60</ttl><item><title>Buffalo Ajax框架使用</title><link>http://www.blogjava.net/chenlb/archive/2007/07/14/130255.html</link><dc:creator>流浪汗</dc:creator><author>流浪汗</author><pubDate>Sat, 14 Jul 2007 05:41:00 GMT</pubDate><guid>http://www.blogjava.net/chenlb/archive/2007/07/14/130255.html</guid><wfw:comment>http://www.blogjava.net/chenlb/comments/130255.html</wfw:comment><comments>http://www.blogjava.net/chenlb/archive/2007/07/14/130255.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/chenlb/comments/commentRss/130255.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenlb/services/trackbacks/130255.html</trackback:ping><description><![CDATA[buffalo-2.0（国人开发的Ajax框架），下载buffalo-2.0-bin就可以了，个人认为也下载buffalo-2.0-src<br />
下载地址：<a href="http://sourceforge.net/project/showfiles.php?group_id=178867">http://sourceforge.net/project/showfiles.php?group_id=178867</a><br />
<br />
1．buffalo-2.0.jar<br />
在buffalo-2.0-bin里，把它加到Web应用程序里的lib<br />
<br />
2．buffalo.js和prototype.js<br />
我把这两个文件放到Web应用程序的scripts/目录下，buffalo.js在buffalo-2.0-bin里，prototype.js在buffalo-demo.war里找<br />
<br />
4．web.xml内容<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #0000ff" twffan="done">&lt;?</span><span style="color: #ff00ff" twffan="done">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff" twffan="done">?&gt;</span><span style="color: #000000" twffan="done"><br />
</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">web-app&nbsp;</span><span style="color: #ff0000" twffan="done">version</span><span style="color: #0000ff" twffan="done">="2.4"</span><span style="color: #ff0000" twffan="done">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlns</span><span style="color: #0000ff" twffan="done">="http://java.sun.com/xml/ns/j2ee"</span><span style="color: #ff0000" twffan="done">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000ff" twffan="done">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000" twffan="done">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000ff" twffan="done">="http://java.sun.com/xml/ns/j2ee&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">servlet</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">servlet-name</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">bfapp</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">servlet-name</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">servlet-class</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">net.buffalo.web.servlet.ApplicationServlet</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">servlet-class</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">servlet</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">servlet-mapping</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">servlet-name</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">bfapp</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">servlet-name</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">url-pattern</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">/bfapp/*</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">url-pattern</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">servlet-mapping</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">web-app</span><span style="color: #0000ff" twffan="done">&gt;</span></div>
<br />
<br />
5．index.jsp文件<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #000000; background-color: #ffff00" twffan="done">&lt;%</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">@&nbsp;page&nbsp;language</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">=</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">java</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;pageEncoding</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">=</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">UTF-8</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #ffff00" twffan="done">%&gt;</span><span style="color: #000000" twffan="done"><br />
<br />
<br />
</span><span style="color: #0000ff" twffan="done">&lt;!</span><span style="color: #ff00ff" twffan="done">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">html</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">head</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">title</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done">第一个&nbsp;buffalo&nbsp;示例程序</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">title</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">script&nbsp;</span><span style="color: #ff0000" twffan="done">language</span><span style="color: #0000ff" twffan="done">="JavaScript"</span><span style="color: #ff0000" twffan="done">&nbsp;src</span><span style="color: #0000ff" twffan="done">="scripts/prototype.js"</span><span style="color: #0000ff" twffan="done">&gt;&lt;/</span><span style="color: #800000" twffan="done">script</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">script&nbsp;</span><span style="color: #ff0000" twffan="done">language</span><span style="color: #0000ff" twffan="done">="JavaScript"</span><span style="color: #ff0000" twffan="done">&nbsp;src</span><span style="color: #0000ff" twffan="done">="scripts/buffalo.js"</span><span style="color: #0000ff" twffan="done">&gt;&lt;/</span><span style="color: #800000" twffan="done">script</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">script&nbsp;</span><span style="color: #ff0000" twffan="done">type</span><span style="color: #0000ff" twffan="done">="text/javascript"</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000; background-color: #f5f5f5" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5" twffan="done">var</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;endPoint</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">=</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&lt;%=request.getContextPath()%&gt;/bfapp</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5" twffan="done">var</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;buffalo&nbsp;</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">=</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5" twffan="done">new</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;Buffalo(endPoint);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5" twffan="done">function</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">&nbsp;hello(me)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffalo.remoteCall(</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">demoService.getHello</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">"</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">,&nbsp;[me.value],&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5" twffan="done">function</span><span style="color: #000000; background-color: #f5f5f5" twffan="done">(reply)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(reply.getResult());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">script</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">head</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">body</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;输入你的名字:</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">input&nbsp;</span><span style="color: #ff0000" twffan="done">type</span><span style="color: #0000ff" twffan="done">="text"</span><span style="color: #ff0000" twffan="done">&nbsp;name</span><span style="color: #0000ff" twffan="done">="myname"</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;</span><span style="color: #800000" twffan="done">input&nbsp;</span><span style="color: #ff0000" twffan="done">type</span><span style="color: #0000ff" twffan="done">="button"</span><span style="color: #ff0000" twffan="done">&nbsp;value</span><span style="color: #0000ff" twffan="done">="Buffao远程调用"</span><span style="color: #ff0000" twffan="done">&nbsp;onclick</span><span style="color: #0000ff" twffan="done">="hello($('myname'));"</span><span style="color: #0000ff" twffan="done">&gt;&lt;</span><span style="color: #800000" twffan="done">br</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">body</span><span style="color: #0000ff" twffan="done">&gt;</span><span style="color: #000000" twffan="done"><br />
</span><span style="color: #0000ff" twffan="done">&lt;/</span><span style="color: #800000" twffan="done">html</span><span style="color: #0000ff" twffan="done">&gt;</span></div>
<br />
说明：remoteCall是远程调用方法，demoService是buffalo-service.properties文件的键，getHello是被调用java类方法名，me.value是传给getHello方法的参数，reply.getResult()是getHello返回的值。<br />
<br />
6．DemoService.java文件<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #0000ff" twffan="done">package</span><span style="color: #000000" twffan="done">&nbsp;demo.buffalo;<br />
<br />
</span><span style="color: #008000" twffan="done">/**</span><span style="color: #008000" twffan="done"><br />
&nbsp;*&nbsp;<br />
&nbsp;*&nbsp;@文件名&nbsp;demo.buffalo.DemoService.java<br />
&nbsp;*&nbsp;@作者&nbsp;chenlb<br />
&nbsp;*&nbsp;@创建时间&nbsp;2007-7-14&nbsp;下午12:42:17&nbsp;<br />
&nbsp;</span><span style="color: #008000" twffan="done">*/</span><span style="color: #000000" twffan="done"><br />
</span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #0000ff" twffan="done">class</span><span style="color: #000000" twffan="done">&nbsp;DemoService&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">public</span><span style="color: #000000" twffan="done">&nbsp;String&nbsp;getHello(String&nbsp;name)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff" twffan="done">return</span><span style="color: #000000" twffan="done">&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">Hello&nbsp;,&nbsp;</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">name&nbsp;</span><span style="color: #000000" twffan="done">+</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">&nbsp;这是第一个buffalo示例程序</span><span style="color: #000000" twffan="done">"</span><span style="color: #000000" twffan="done">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<br />
7．buffalo-service.properties文件放到WEB-INF/classes/目录下<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee" twffan="done"><span style="color: #000000" twffan="done">demoService</span><span style="color: #000000" twffan="done">=</span><span style="color: #000000" twffan="done">demo.buffalo.DemoService</span></div>
说明：框架是通过此文件来查找远程调用的类的。<br />
<br />
8．现在可以运行了。<br />
<br />
示例下载<br />
注意：Eclipse项目，文件编码是UTF-8<br />
<br />
官方地址：<br />
Buffalo中文论坛：<a href="http://groups.google.com/group/amowa">http://groups.google.com/group/amowa</a><br />
<a href="http://buffalo.sourceforge.net/tutorial.html" target="blank">http://buffalo.sourceforge.net/tutorial.html</a><br />
<p><a href="http://confluence.redsaga.com/pages/viewpage.action?pageId=1643" target="blank">http://confluence.redsaga.com/pages/viewpage.action?pageId=1643</a> </p>
JavaScript API ：<a href="http://confluence.redsaga.com/display/BUFFALO/JavaScript+API">http://confluence.redsaga.com/display/BUFFALO/JavaScript+API</a><br />
<a href="http://www.amowa.net/buffalo/zh/index.html">http://www.amowa.net/buffalo/zh/index.html</a> 
<img src ="http://www.blogjava.net/chenlb/aggbug/130255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenlb/" target="_blank">流浪汗</a> 2007-07-14 13:41 <a href="http://www.blogjava.net/chenlb/archive/2007/07/14/130255.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>