整合Ajax框架Buffalo2.0与Spring2.0

最近在学习一个国产的Ajax开源框架BuffaloBuffaloburlap协议的JavaScript实现,但是它为Amowa(面向异步消息的Web应用)/Ajax提供了更多的支持。开发者可以使用Buffaloweb应用更加容易的添加Amowa/Ajax特性;另外,随着开发者的要求,Buffalo开始逐渐加入了Web元素,使得Buffalo逐渐向一个全功能的、新型的Web框架逐渐靠近。目前Buffalo已经发布了2.0版本。

Spring是当前最流行的轻量级容器,Buffalo对它进行了支持。Spring中任意一个配置过的bean, 都可以通过简单的配置被暴露为buffalo服务。 以下简单介绍下Buffalo2.0集成Spring的配置。

1.       web.xml配置:

<display-name>

              Buffalo Web Remoting Demostration Application

       display-name>

       <context-param>

              <param-name>contextConfigLocationparam-name>

              <param-value>/WEB-INF/applicationContext.xmlparam-value>

       context-param>

 

       <servlet>

              <servlet-name>bfappservlet-name>

              <servlet-class>

                     net.buffalo.web.servlet.ApplicationServlet

              servlet-class>

       servlet>

 

       <servlet>

              <servlet-name>contextservlet-name>

              <servlet-class>

                     org.springframework.web.context.ContextLoaderServlet

              servlet-class>

              <load-on-startup>1load-on-startup>

       servlet>

 

       <servlet-mapping>

              <servlet-name>bfappservlet-name>

              <url-pattern>/bfapp/*url-pattern>

servlet-mapping>

2.       SpringapplicationContext.xml配置:

<bean id=" yourService "

       class="xxx.service.yourService ">bean>

<bean name="buffaloConfigBean"

        class="net.buffalo.service.BuffaloServiceConfigurer">

        <property name="services">

            <map>

                <entry key="yourService">

                    <ref bean=" yourService " />

                entry>

               

            map>

        property>

bean>

通过以上配置后,开发者不用再配置buffalo-service.properties文件了,使用applicationContext.xml替代之.其中引用到的bean可以是任意被Spring托管的bean。在web页面的调用却不需要做什么改变。如:

<script language="javascript" src="js/prototype.js">script>

       <script language="javascript" src="js/buffalo.js">script>

      

       <script type="text/javascript">

       var END_POINT="<%=request.getContextPath()%>/bfapp";

       var buffalo = new Buffalo(END_POINT); 

      

       function xxx(){

buffalo.remoteCall("yourService. method", [], function(reply) {

              alert(reply.getResult());

           })

       }

    script>.

 

你可能感兴趣的:(整合Ajax框架Buffalo2.0与Spring2.0)