浏览 1431 次
锁定老帖子 主题:第一版,可以理解为Preview
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-08
http://zcy860511.iteye.com/blog/589096
基于前两天写的一个Coder
制作的一个Javascript远程对象调用器 开始添加了spring的调用,现在暂时处于不稳定状态,所以这里就不使用了。 先看下服务端配置: web.xml <servlet> <servlet-name>debug</servlet-name> <servlet-class>org.javazone.jroi.web.servlet.JroiServlet</servlet-class> <init-param> <param-name>jroi.configuration.location</param-name> <param-value>jroi.config.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>debug</servlet-name> <url-pattern>/jroi/*</url-pattern> </servlet-mapping> jroi.config.xml//该文件放于classpath下 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE remote-beans PUBLIC "-//JAVAZONE//DTD Javazone Remote Object Invoker//EN" "jroi10.dtd"> <remote-beans> <bean id="TestBean" class="org.javazone.show.jroi.RemoteBean" scope="single"> <constructor> <args index="0" ref="bean"/> </constructor> <method name="getString"/> <method name="getInt"/> <method name="getBean"/> </bean> <bean id="bean" class="org.javazone.show.jroi.Bean" scope="single" /> </remote-beans> 服务端代码: Bean.java package org.javazone.show.jroi; public class Bean { private String name = "bean name"; private String value = "bean value"; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setValue(String value) { this.value = value; } public String getValue() { return value; } } RemoteBean.java public class RemoteBean { private Bean bean; public RemoteBean(Bean bean) { this.bean = bean; } public String getString() { return "test String"; } public int getInt() { return 1248123; } public Bean getBean() { return bean; } } 客户端代码。 <script src="./jroi/jroi.js" ></script> <script src="./jroi/TestBean.js"></script> 引入这两个文件 function testString(){ TestBean.getString(callback); } function testInt(){ TestBean.getInt(callback); } function testBean(){ TestBean.getBean(callback); } function callback(data){ if(typeof data == 'object') { var div = document.getElementById("print") div.innerHTML = "data.name = " + data.name + " data.value" + data.value } else{ var div = document.getElementById("print") div.innerHTML = data; } } 上面是具体用法,因为是异步的所以会有回调函数 总结来看,和DWR是差不多的关系,只是发现DWR一些不好的地方,改进了一下,不需要配置convert就可以直接转换你的Bean,更加智能,而且我发现DWR貌似不能使用具有构造函数的Bean,所以也解决了这个问题,当然,我不是很熟悉DWR这个框架,所以不知道有提供这样的方法没有。 最后,jroi需要和apache的logging工具一起使用,需要导入这个包,我就不发上来了,至于dtd,如果使用eclipse需要添加一下xml catalog。 这个版本只是一个预览版,应该有很多的BUG,所以大家尽可能的给我提出来,我将不甚感激 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |