ajax与spring结合

网络整理 - 07-26

Spring的集成几乎异常简单,只需要更改配置文件而已.

页面的代码不用动,例如

doc.simple-spring.jsp
<script language="javascript">var springEndPoint="<%=request.getContextPath()%>/remoting/Spring-buffalo";function pageMethod() { var buffalo = new Buffalo(springEndPoint); buffalo.remoteCall("yourObject.yourMethod",[], function(reply) {  var Obj = reply.getResult(); })}</script>
web部署描述文件

web.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" ""><web-app>    <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>context</servlet-name>  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>  <load-on-startup>1</load-on-startup> </servlet>  <servlet>  <servlet-name>remoting</servlet-name>  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  <load-on-startup>4</load-on-startup> </servlet>  <servlet-mapping>  <servlet-name>remoting</servlet-name>  <url-pattern>/remoting/*</url-pattern> </servlet-mapping> </web-app>
以前的buffalo-service.properties文件则不用,applicationContext.xml所替代之.其中引用到的bean可以是任意被Spring托管的bean.这个Controller可以被任意任意方式的ServletDispather调用.

applicationContext.xml
<beans>  <bean name="simpleService" class="net.buffalo.demo.simple.SimpleService"></bean> <bean name="numberService" class="net.buffalo.demo.numberguess.NumberGuessService"></bean> </beans>
remoting-servlet.xml
<beans>  <bean name="/Spring-buffalo" class="net.buffalo.spring.BuffaloServiceExporter"> <property name="services">            <map>                <entry key="simpleService">                    <ref bean="simpleService"/>                </entry>  <entry key="numberService">                    <ref bean="numberService"/>                </entry>            </map>        </property>  </bean> </beans>