预览文章: Buffalo之 bind,reply,ajax,view,form应用(二)
http://liuzidong.iteye.com/blog/629898
四 与spring集成
1 spring版本为:spring-1.2.3.jar
web.xml配置代码
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>bfapp</servlet-name>
<servlet-class>
net.buffalo.web.servlet.ApplicationServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bfapp</servlet-name>
<url-pattern>/bfapp/*</url-pattern>
</servlet-mapping>
applicationContext.xml的配置代码:
<bean name="userService" class="net.buffalo.service.UserService"></bean>
<bean name="buffaloConfigBean" class="net.buffalo.service.BuffaloServiceConfigurer">
<property name="services">
<map>
<entry key="springUserService">
<ref bean="userService"/>
</entry>
//配置更多的代理...
</map>
</property>
</bean>
注意事项:
1 这里的bfapp启动时间要大于spring时间,要保证spring优先于Buffalo加载.
否则就报如下错误,找不到springUserService这个服务.
net.buffalo.service.NoSuchServiceException: springUserService at net.buffalo.service.DefaultServiceRepository.get(DefaultServiceRepository.java:87) at net.buffalo.service.BuffaloWorker.processRequest(BuffaloWorker.java:60) at net.buffalo.web.servlet.ApplicationServlet.doRequest(ApplicationServlet.java:119) at net.buffalo.web.servlet.ApplicationServlet.doPost(ApplicationServlet.java:91)
2 当把org.springframework.web.context.ContextLoaderServlet
换成:
org.springframework.web.context.ContextLoaderListener后,控制台报如下错误
java.lang.ClassCastException: org.springframework.web.context.ContextLoaderListener
在spring-1.2.3,spring-2.5.5, spring-framework-3.0.0.M4版本下还是这个错误,不过使用: org.springframework.web.context.ContextLoaderServlet在这三个版本下测试正常.
3集成spring后, userService类中的调用方法不能在获取到容器的对象,如这样的代码:
RequestContext.getContext().getHttpSession();类似的调用都会报错,spring提供了这个服务类的所有代理.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.FatalBeanException: Could not instantiate class [net.buffalo.service.UserService]; constructor threw exception; nested exception is java.lang.NullPointerException: null
org.springframework.beans.FatalBeanException: Could not instantiate class [net.buffalo.service.UserService]; constructor threw exception; nested exception is java.lang.NullPointerException: null
java.lang.NullPointerException at net.buffalo.request.RequestContext.getHttpSession(RequestContext.java:105)...
五 Buffalo提供的常用JS函数
1 获取元素的Y坐标
function getElementY(element){
var targetTop = 0;
if (element.offsetParent) {
while (element.offsetParent) {
targetTop += element.offsetTop;
element = element.offsetParent;
}
} else if (element.y) {
targetTop += element.y;
}
return targetTop;
}
2 获取元素的X坐标
function getElementX(element){
var targetLeft = 0;
if (element.offsetParent) {
while (element.offsetParent) {
targetLeft += element.offsetLeft;
element = element.offsetParent;
}
} else if (element.y) {
targetLeft += element.x;
}
return targetLeft;
}
3 绑定元素值
<INPUT TYPE="checkbox" NAME="" id="testChk">
<INPUT TYPE="button" value="Bind Checkbox" onclick="bindChkbox()">
function bindChkbox() {
//点击后只能是选中状态
Buffalo.bind("testChk", "yes");
//Buffalo.bind("testChk", "no");
}
4 遍历对象值
function openObj(obj) {
var tmp = obj+"{";
for (var x in obj) {
tmp += x + "=" + obj[x]+";";
}
tmp += "}";
return tmp;
}
分享到:
相关推荐
buffalo1.2ajax框架应用演示例子 buffalo1.2下载地址: http://www.codechina.net/resource/html/2005-12/06/119641.html
国人开发的AJAX应用框架 AJAX是开发基于web的rich client的一种方式,Buffalo则是实现AJAX的一个框架。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程...
Buffalo则是实现AJAX的一个框架。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript...
【Ajax框架Buffalo详解】 Ajax(Asynchronous JavaScript and XML)技术自2005年以来,极大地改变了网页应用程序的开发方式,使得页面无需刷新即可与服务器进行数据交互,提升了用户体验。而“国产Ajax框架 Buffalo...
Buffalo是Go语言中的一款强大的Web开发框架,它简化了构建现代、健壮且可维护的Web应用程序的过程。本篇文章将深入探讨`buffalo`应用实例,通过一系列实践技巧,帮助开发者更好地理解和运用这个框架。 首先,理解`...
基于Ajax的buffalo技术的helloword和三级联动菜单 包含入门模块:helloword、延伸模块:三级联动菜单 项目已包含所有文件,只需导入myeclipse运行即可。 开发环境:myeclipse6.0、jdk1.5、tomcat5.0 说明:连数据库...
通过源码学习,开发者可以了解如何利用Buffalo构建高效、健壮的Ajax应用,同时也能借鉴其设计理念,应用于自己的项目开发中。 总结,Buffalo作为国产Ajax框架,以其简洁的设计、强大的功能和良好的性能,为Java Web...
Buffalo框架是中国开发者为了解决Web应用中的异步通信问题而设计的一款高效、轻量级的Ajax框架。它简化了Ajax的使用,通过提供简洁的API和良好的封装,使开发者能够快速地构建动态交互的Web页面。与国外的一些知名...
根据提供的“Buffalo应用文档”及其部分内容,我们可以总结并详细解释以下关键知识点: ### 一、Buffalo应用配置概述 #### 1.1 Web 应用配置基础 文档提到的Buffalo应用涉及到Web应用的基本配置,包括`web.xml`...
在IT行业中,`buffalo-l` 和 `buffalo-sc` 是两个特定的软件包,它们可能涉及特定的开发框架或工具。尽管提供的信息有限,但我们可以根据这些关键词推测出一些可能的知识点。以下是对这两个包的详细解释以及与之相关...
总结来说,Buffalo框架作为一款基于Java的Ajax解决方案,旨在简化Web应用的开发过程,提升用户体验。开发者可以充分利用其组件化、事件驱动的特点,高效构建富客户端应用。通过学习和实践,开发者将能够更好地掌握这...
本篇将详细介绍AJAX的配置与使用,特别是结合Buffalo工具进行操作的方法。 首先,了解AJAX的基本原理。AJAX通过XMLHttpRequest对象向服务器发送异步请求,获取数据,然后通过JavaScript处理这些数据并更新DOM树,...
【标题】基于Java的国产Ajax框架 Buffalo Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,极大...
JAVA源码国产Ajax框架Buffalo
在本文中,我们将深入探讨`buffalo`框架的核心概念、功能特性以及它如何与`Ajax`相比较,同时还会简要介绍如何使用`buffalo`进行实际的开发工作。 首先,让我们理解一下`Ajax`(Asynchronous JavaScript and XML)。`...
**基于Java的国产Ajax框架 Buffalo** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,提升...
【标题】"基于Java的实例源码-国产Ajax框架 Buffalo.zip" 提供的是一个使用Java语言实现的国产Ajax框架——Buffalo的相关源代码。Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下...
相比之下,Ajax通过异步数据交换,能够在后台与服务器通信,仅更新需要改变的部分,实现了更加流畅的应用过程。 #### Ajax的Demo体验及原理 Ajax的核心在于使用`XMLHttpRequest`对象进行异步请求和处理数据。当...
在IT行业中,"buffalo.jar & buffalo.js" 提到的两个文件名可能指的是某个软件或框架的组件。这里,我们分别来探讨它们可能涉及的知识点。 首先,`buffalo.jar` 是一个Java Archive (JAR) 文件,它是Java平台的标准...
java资源国产Ajax框架 Buffalo提取方式是百度网盘分享地址