AJAX:Asynchronous JavaScript and XML
(1)buffalo.xml:配置与spring service对应关系
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="buffaloConfigBean"
class="net.buffalo.service.BuffaloServiceConfigurer">
<property name="services">
<map>
<entry key="helloService">
<ref bean="helloService" />
</entry>
</map>
</property>
</bean>
</beans>
(2)web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Buffalo Example Application</display-name>
<servlet>
<servlet-name>bfapp</servlet-name>
<servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bfapp</servlet-name>
<url-pattern>/bfapp/*</url-pattern>
</servlet-mapping>
</web-app>
(3)applicationContext.xml:引入关联配置
<import resource="buffalo.xml" />
(4)调用
<script language="javascript">
var END_POINT="/bfapp";
var buffalo = new Buffalo(END_POINT,false);//同步调用
function hello() {
var p1 = $("myname").value;
buffalo.remoteCall("helloService.hello",[p1], function(reply) {
alert(reply.getResult());
});
}
</script>
(5)Customize events
var buffalo = new Buffalo(endpoint, async, {onLoading: yourLoadingFunction, onError: yourErrorHanlder ,onFinish:...})
//或者
buffaloInstance.events["onLoading"] = function(state) {
if (state) { //displaying message
window.status = " Loading ..." ;
}else {
window.status = " Loading complete ";
}
}
(6)Data binding:bind the javascript object value to html elements
buffalo.bindReply(service, params, elementId);
//或者
Buffalo.Bind.bind(elementId, bindValue).
(7)关于提示信息的相关处理
a.隐藏掉"buffalo loading..."
打开buffalo.js,找到response函数的定义,this.events["onLoading"](false);
b.错误提示
打开buffalo.js,找到onError事件的定义,就是"onError: Buffalo.Default.showError,alertError: function(errorStr) {
alert("抱歉,可能是系统正忙,请稍候再试。");
},
然后把onError定义改为"onError: Buffalo.Default.alertError
c.不改原代码
buffalo.events["onLoading"]=yourunctionname;
buffalo.events["onError"]=yourAnotherFunctionName;
(8)浏览器前进/后退
这个特性需要buffalo-blank.html文件。下载的二进制包中包含此文件。
<iframe src="buffalo-blank.html"id="buffalo-view-history-iframe" width="0" height="0"style="display:none;"></iframe>
当你想切换视图时,使用buffalo.switchView(viewName)方法,Buffalo将自动记住历史。如果在一些视图中不需要此特征,可以使用buffalo.switchPart(...)方法排除。
分享到:
相关推荐
- 加牛奶的咖啡(coffee with milk) - 奶咖啡(white coffee) - 即溶咖啡(instant coffee) - 可可粉(cocoa) - 牛奶(milk) - 全脂牛奶(whole milk) - 奶酪(milk curd) - 粉状奶酪(powdered milk) - ...
'415 Main Street', 'Buffalo', 'NY', 'USA', NULL, 'POOR', 11, 1, NULL); INSERT INTO s_customer VALUES ( 215, 'Sporta Russia', '7-3892456', '6000 Yekatamina', 'Saint Petersburg', NULL, 'Russia', ...
Java项目课程设计,包含源码+数据库+论文
村级行政界线数据 数据格式:矢量格式(.shp) 时间范围:每个省份年份不同,基本为2020年到2022年 数据坐标:CGCS2000/WGS1984 备注:由于村级行政界线小部分每年会有调整,所以该数据有部分地区不是最新界线。
内容概要:本文详细介绍了利用LabVIEW和Halcon实现高效的条形码识别方法。LabVIEW作为一种图形化编程环境,擅长于硬件交互和流程控制;而Halcon作为专业的机器视觉库,则专注于图像处理和模式识别。二者结合可以在多个领域如工业自动化、物流管理和仓储管理中提供快速准确的条形码读取服务。文中不仅阐述了具体的实现步骤,包括图像采集、传递给Halcon处理以及最终结果显示等环节,还讨论了一些常见的调试技巧和技术细节,例如如何应对不同类型的条形码、优化参数设置以提升识别精度等问题。 适合人群:从事机器视觉、工业自动化领域的工程师和技术人员,尤其是那些希望深入了解条形码识别系统的开发者。 使用场景及目标:适用于需要高效条形码识别的应用场合,如生产线上的产品跟踪、零售业的商品管理等。通过学习本文提供的技术和实践经验,可以帮助读者构建更加稳健可靠的条形码识别系统。 其他说明:文中提及了许多实用的技术要点,如正确配置图像格式、处理特殊材质表面上的条形码、多线程并发处理等,这些都是成功实施条形码识别项目的关键因素。此外,作者还分享了关于版本兼容性和授权许可方面的注意事项,这对于项目的长期维护非
Java项目t基于ssm的课程设计,包含源码+数据库+论文
# 基于Arduino框架的ADS1256模数转换库 ## 项目简介 本项目是一个基于Arduino框架的ADS1256模数转换器(ADC)驱动库。ADS1256是德州仪器(TI)生产的一款高性能8通道24位ADC,适用于高精度数据采集应用。该库旨在提供轻量级、易移植且功能全面的接口,方便开发者快速集成和使用ADS1256模块。 ## 主要特性和功能 多通道读取支持单通道、批量通道和滑动通道读取模式。 跨平台支持已在ESP32和ESP8266平台上测试通过,易于移植到其他Arduino兼容设备。 示例丰富提供多个示例程序,展示如何读取原始数据、批量处理数据以及跨通道扫描。 数据上传支持通过HTTP服务器将数据上传至InfluxDB等数据库(ESP8266示例)。 轻量级设计代码简洁,易于理解和扩展。 ## 安装和使用步骤 1. 环境准备 确保已安装Arduino IDE。 下载并解压本项目的源代码。
内容概要:本文深入剖析了GPT等AI技术近年来爆发式增长的原因,涵盖技术进步(如Transformer架构、无监督学习、模型参数量增加、算法与算力协同)、市场需求(如自然语言处理需求增长、跨行业应用拓展、个性化服务兴起)、资本推动(如风险投资涌入、科技巨头布局、资本市场追捧)以及政策引导(如顶层规划、数据基础夯实、人才战略培养)。此外,文章还提供了关于AI技术应用的实用信息、干货技巧和独特观点。 适合人群:对AI技术感兴趣的科研人员、技术人员、投资者及政策制定者。 使用场景及目标:帮助读者全面理解GPT等AI技术快速发展的驱动因素,把握未来发展趋势,指导实际应用和技术投资决策。 其他说明:文章强调了AI技术带来的机遇与挑战,呼吁社会各界共同促进AI技术的健康发展。
Delphi 12.3控件之TMS mCL v2.3.0.1.rar
# 基于C++11的线程池实现项目 ## 项目简介 本项目是一个基于C++11的线程池实现,旨在通过管理任务队列和线程池来提高系统的并行处理能力。线程池通过动态调整线程数量来优化资源使用和任务处理效率,适用于需要高效处理大量任务的场景。 ## 项目的主要特性和功能 任务队列管理使用std::queue实现任务队列,支持任务的提交和执行。 线程池管理使用std::vector存储线程,支持动态调整线程数量。 线程安全通过std::mutex和std::atomic确保多线程环境下的数据安全。 任务调度线程池中的线程通过统一的调度函数从任务队列中获取并执行任务。 动态调整线程数量支持根据任务负载动态增加或减少线程数量,优化资源使用。 多种任务类型支持支持lambda表达式、普通函数、全局函数和类方法等多种任务类型。 ## 安装使用步骤 1. 环境准备确保系统已安装支持C++11的编译器(如GCC或Clang)。
# 基于Linux系统的实时音频传输系统 ## 项目简介 本项目是一个基于Linux系统的实时音频传输系统,旨在通过TCPIP连接在两个设备之间实现单向的实时音频传输。项目使用了POSIX SCHEDFIFO实时调度策略,并结合ALSA库进行音频的采集和播放。系统设计为服务器客户端架构,服务器负责音频数据的采集和发送,客户端负责接收并播放音频数据。 ## 项目的主要特性和功能 1. 实时音频传输通过TCPIP协议在两个设备之间实现实时音频数据的传输。 2. 多线程处理使用POSIX线程库(pthread)进行多线程编程,确保音频数据的并行处理。 3. ALSA音频处理利用ALSA库进行音频数据的采集和播放,支持高质量的实时音频处理。 4. 服务器客户端架构服务器端负责音频数据的采集和发送,客户端负责接收并播放音频数据。 5. 跨平台支持系统可以在任何运行Linux的设备上运行,包括嵌入式Linux平台。 ## 安装使用步骤
# 基于 Go 和 Vue3 的微软 New Bing 演示站点 ## 项目简介 本项目是基于微软 New Bing,使用 Vue3 和 Go 简单定制的演示站点。它拥有与微软 New Bing 一致的 UI 体验,支持 ChatGPT 提示词,国内也可使用,基本兼容微软 Bing AI 的所有功能,且无需登录即可畅聊。 ## 项目的主要特性和功能 1. 多聊天服务器支持默认使用 Cloudflare Workers 作为聊天服务器,也可选择 Bing 官方聊天服务器。当官方服务器不可用时,提供添加请求头和本地部署中转服务的解决方案。 2. 国内可用部署服务器需直连 www.bing.com 不重定向 CN,可配置 socks 连接。 3. 支持开源提示词库支持现有开源 ChatGPT 提示词库。 4. 高级功能体验需要画图等高级功能时,登录微软账号设置用户 Cookie 即可体验。
村级行政界线数据 数据格式:矢量格式(.shp) 时间范围:每个省份年份不同,基本为2020年到2022年 数据坐标:CGCS2000/WGS1984 备注:由于村级行政界线小部分每年会有调整,所以该数据有部分地区不是最新界线。
内容概要:本文详细介绍了基于B/S架构,采用PHP、CSS、JavaScript和MySQL技术栈构建的图书馆管理系统。首先阐述了系统的架构和技术亮点,如B/S架构的优势、PHP的灵活性、CSS的美化能力以及JavaScript的交互性和MySQL的数据管理功能。接着具体展示了系统的功能模块,包括用户注册登录、管理员权限管理、图书管理、借还书操作等。文中还特别强调了安全性措施,如验证码机制、会话管理和密码哈希等。最后给出了项目的搭建方法和一些优化建议,如使用phpstudy和navicat工具,以及数据库性能优化等。 适合人群:具有一定编程基础的技术爱好者、Web开发者、图书馆管理人员。 使用场景及目标:适用于希望快速搭建并部署图书馆管理系统的个人或机构,旨在提高图书馆管理效率,同时提供一个完整的Web开发案例供学习和参考。 其他说明:文中提供的代码片段和搭建指南有助于理解和实践,同时也指出了一些潜在的安全隐患和改进方向,如避免SQL注入、使用预处理语句等。
内容概要:本文详细介绍了如何在LabVIEW中利用最小二乘法进行曲线拟合和波形拟合,并生成专业的报表。首先解释了最小二乘法的基本概念及其重要性,然后逐步展示了在LabVIEW环境中实现这一方法的具体步骤,包括数据输入、拟合模块的应用、拟合曲线的绘制以及报表的生成。此外,文中还探讨了波形预处理的方法,如滤波和降噪,确保拟合结果更加精确可靠。最后,强调了LabVIEW在自动化控制和测量系统开发领域的广泛适用性和高效性。 适合人群:从事自动化控制、测量系统开发的研究人员、工程师和技术爱好者。 使用场景及目标:适用于需要对实验数据进行精准分析和可视化的场合,如科学研究、工业检测、数据分析等。目标是提高数据处理效率,增强结果的可视化和易读性。 其他说明:文中提供了多个实用技巧,如使用特定滤波器改善拟合效果、通过自定义模型拟合特殊曲线、采用高效的数据处理方法等。同时,还提到了一些常见问题及解决方案,帮助用户更好地掌握LabVIEW的相关功能。
Java项目web的课程设计,包含源码+数据库+论文
Java项目web的课程设计,包含源码+数据库+论文
内容概要:本文详细介绍了DSP28335与FPGA通过并行总线通信的Verilog程序实现方法及其优化技巧。首先解释了两者的通信背景与原理,接着展示了Verilog程序的基本框架,包括模块定义、端口声明以及读写操作的具体实现。文中特别强调了时钟同步、地址解码、数据总线处理等方面的技术细节,并提供了针对实际应用中的调试经验和优化建议,如跨时钟域处理、状态机设计、CRC校验、总线仲裁等。 适合人群:具备一定数字电路基础知识,尤其是对DSP和FPGA有一定了解的研发人员和技术爱好者。 使用场景及目标:适用于需要高效、稳定地实现DSP28335与FPGA通信的设计项目,特别是在实时性和可靠性要求较高的应用场景中,如雷达信号处理、电机控制等领域。 其他说明:文章不仅提供理论讲解,还包括大量实用的代码片段和调试技巧,帮助读者更好地理解和掌握相关技术。此外,还分享了一些常见的陷阱和解决方案,有助于提高开发效率和产品质量。
# 基于React框架的Cosmjs前端交互项目 ## 项目简介 本项目是基于React框架的Cosmjs前端实践项目,主要目的是帮助开发者掌握在前端应用里与Cosmos区块链进行交互的方法,借助React和Cosmjs库创建与Cosmos区块链交互的前端应用。 ## 项目的主要特性和功能 1. 实现与Cosmos区块链的连接,通过Keplr钱包完成。 2. 可进行Cosmos账号的创建、管理和使用。 3. 支持跨链通信(IBC),实现跨链资产转移与通信。 4. 能查询地址余额以及交易记录。 5. 可通过Keplr钱包发送交易并查询交易哈希。 ## 安装使用步骤 1. 已下载本项目的源码文件。 2. 安装依赖在项目根目录下,运行npm install命令。 3. 启动项目运行npm run start命令。 4. 连接到Cosmos区块链安装Keplr浏览器插件并添加到项目,连接到你的Cosmos链。
Java项目基于swing的课程设计,包含源码+数据库+论文