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

最近在学习一个国产的Ajax开源框架Buffalo,Buffalo是burlap协议的JavaScript实现,但是它为Amowa(面向异步消息的Web应用)/Ajax提供了更多的支持。开发者可以使用Buffalo为web应用更加容易的添加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>contextConfigLocation</param-name>

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

       </context-param>

 

       <servlet>

              <servlet-name>bfapp</servlet-name>

              <servlet-class>

                     net.buffalo.web.servlet.ApplicationServlet

              </servlet-class>

       </servlet>

 

       <servlet>

              <servlet-name>context</servlet-name>

              <servlet-class>

                     org.springframework.web.context.ContextLoaderServlet

              </servlet-class>

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

       </servlet>[www.iocblog.net 来源]

 

       <servlet-mapping>

              <servlet-name>bfapp</servlet-name>

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

</servlet-mapping>

2.       Spring的applicationContext.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>

                <!-- oterh entries... -->

            </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>.




文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。