AJAX技术得到广泛的应用,相关的架构也泛滥成灾,再有人提起新的AJAX架构,相信有另外很多人会不屑一顾——看哦,又一个在重复发明车轮子的人。
其实也谈不上重复发明,XMLHttpRequest、JSON、Annotation这些技术都是现成的,它们之间有各种不同的组合应用的方法。我只是希望能按新的思路,组合出一个架构来以简单的方式应用在我的项目中。
以下是其中一些比较有代表性的代码,不知道是否能够吸引你?
一、使用Annotation标记以AJAX方式调用的方法
业务对象中的方法如果想暴露在Ajax调用的范围内,可以如下方式说明:
@Ajax
static public int length(String[] a)
{
return a.length;
}
在@Ajax上还可以指定调用方法的方式,默认的是新建一个对象调用,当前还支持以静态方式调用和采用对象池的方式,如:
@Ajax(type=Ajax.RunType.POOL)
二、在页面中以“类名.js”的方式进行引用
<SCRIPT LANGUAGE="JavaScript">
$include("ajax/com.opesoft.fw.ajax.TestBO.js");
</SCRIPT>
其实这个语句就相当于
<script type="text/javascript" src="/ajax/com.opesoft.fw.ajax.TestBO.js" /></script>
直接用引用的URL对应到要访问的类上,省去了配置文件(约定取代配置,呵呵,借用了一下思路)。
三、JS里的同一方法支持同步和异步两种方式
标准的AJAX当然应该是异步来进行同后台数据交换的,但是相信很多程序,特别是需要应用到旧的系统框架中的程序还是用返回值的方式处理起来更为舒服。在本架构中生成的JS方法可以根据传入的参数不同,以两种不同的方式进行调用。
同步方式:
var num=TestBO.add(5,7);
异步方式:
function show(data,args)
{
……
}
TestBO.add(5,7,show,'需要传递的信息');
前两个参数对应的是Java方法中的参数,第三个参数是回调函数,如果没有的指定这个参数的话,就认为是同步方式调用。
第四个参数:args存在的理由是:有时我们经常希望能把当前一些状态传入到回调函数中去,这里就可以把这些值放在这个参数里,它们作为第二个参数传给从后台获取数据结束后调用的方法。
四、强大的对象转换
数据传递部分是在JSON的基础上进行了一些封装,能支持调用Java端方法的参数是比较复杂的类型或Bean对象。如传递一个字符串的数组:
TestBO.length(new Array('a','b','c'))
如果参数是一个Java对象,JS端代码:
var user=JavaClass("com.opesoft.fw.core.utils.User");
//其实这句在这里可以简单地写成:var user={};
user.name="Larlf.Wang";
TestBO.getName(user);
数据对象的结构可以在JSON<>Java中相互转换,具体思路可以参见我Blog中的文章:
http://larlf.iteye.com/blog/88983
在附件中是一个简单的演示,解压到Tomcat5.5下就可以看到了。
今年流行大奔的轮子,不巧的是我们家只有一辆自行车,那我是否就要找个大奔的轮子套上捌捌扭扭地骑着?我还是认为适合自己的才是最好的,这也许就是为什么总有人重复发明车轮子的原因。
分享到:
- 2007-10-24 23:49
- 浏览 2373
- 评论(6)
- 论坛回复 / 浏览 (6 / 4136)
- 查看更多
相关推荐
总的来说,"决不重新发明轮子"的理念在IT行业意味着高效利用已有资源,避免不必要的研发投入,同时注重技术的持续改进和创新。企业应当积极学习和借鉴行业内外的优秀实践,结合自身优势,进行有针对性的创新,从而在...
首先,我们来看看"roue_41-312-100b08.SLDPRT"这个文件。SLDPRT是SolidWorks的零件文件格式,用于存储单个组件的三维几何模型。在这个文件中,设计师会利用SolidWorks的各种工具来创建轮子的精确几何形状。设计过程...
NULL 博文链接:https://changzhiwin.iteye.com/blog/505946
自行车轮子摩擦力分析学习教案.pptx
总结来说,自己实现轮子是一个极好的学习机会,它涵盖了基础数据结构与算法、设计模式、并发编程、数据库操作、网络编程等多个方面。在Java世界里,你可以选择从简单的工具类到复杂的框架逐一实现,每次成功都会加深...
在儿童玩具领域,童车是孩子们成长过程中不可或缺的一部分,而童车轮子作为童车的重要组成部分,其设计和制造工艺直接影响着童车的性能、安全性和耐用性。一体注塑式童车轮子是一种常见的制造技术,它在行业内被广泛...
总的来说,自行车轮子之所以是圆的,是因为圆形设计能提供稳定、高效的运动,并减小摩擦阻力。而非圆形的轮子,如凸轮,虽然不符合常规,却在特定领域展现出卓越的功能性。这些基本的物理原理不仅应用于自行车,还...
总的来说,这份PPT学习教案通过讲解自行车轮子与地面的摩擦力,揭示了摩擦力在自行车运动中的关键作用。不仅帮助我们理解了自行车的行驶原理,还提醒我们在实际骑行中如何有效利用和控制摩擦力,以实现更安全、更...
在课件的描述中,提到了玩具汽车、自行车和摩托车上的轮子,这些都是轮子应用的经典例子。这些交通工具上的轮子利用了滚动摩擦远小于滑动摩擦的物理特性,使得车辆可以轻松前进并快速移动。 其次,轮子的出现极大地...
首先,我们来关注“玩具汽车轮子组装机”这一主题。这是一款专为生产玩具汽车轮子而设计的自动化设备,它将工艺流程中的各个环节整合在一起,包括零部件的定位、装配、质量检测等,旨在提高生产效率,降低成本,确保...
该程序源代码用于STM32F103ZET6步进电机智能小车轮子前转一周实验。 1、采用KEIL5软件开发。 2、用到的库文件:Keil.STM32F1xx_DFP.2.3.0.pack。 3、程序对应处理器:STM32F103ZET6。 4、步进电机驱动芯片型号:ULN...
轮子的应用不仅仅局限于传统机械,现代科技也赋予了轮子新的生命。例如,电动滑板车、自动驾驶汽车中的智能轮子,它们集成了传感器和驱动装置,实现了更高级别的控制和智能化。再如,工业自动化中的传送带系统,通过...
该程序源代码用于STM32F103ZET6步进电机智能小车轮子前转四分之一周实验。 1、采用KEIL5软件开发。 2、用到的库文件:Keil.STM32F1xx_DFP.2.3.0.pack。 3、程序对应处理器:STM32F103ZET6。 4、步进电机驱动芯片型号...
该程序源代码用于STM32F103ZET6步进电机智能小车轮子前转半周实验。 1、采用KEIL5软件开发。 2、用到的库文件:Keil.STM32F1xx_DFP.2.3.0.pack。 3、程序对应处理器:STM32F103ZET6。 4、步进电机驱动芯片型号:ULN...
maya车轮子,用各种界面制作的maya车轮子,请使用哈哈
标题和描述中提到的“玩具汽车轮子组装机”是一个机械设备设计项目,主要涉及机械工程、自动化技术以及可能的3D建模软件SolidWorks(SW15)。此压缩包文件包含了一个详细的工程图,该图是由SolidWorks 2015版本创建...
很抱歉,由于没有提供具体的文件内容,我无法直接生成与《他发明了什么》教学设计相关的详细IT知识点。但是,我可以根据标题推测这可能是一份关于科技历史或创新发明的教学资料,因此,我可以概括一些与发明和科技...
行业资料-交通装置-一种儿童电动车上的轮子支架.zip