1、调用没有返回值和参数的JAVA方法
1.1、dwr.xml的配置
<allow>标签中包括可以暴露给javascript访问的东西。
<create>标签中指定javascript中可以访问的java类,并定义DWR应当如何获得要进行远程的类的实例。 creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。javascript=" testClass "属性指定javascript代码访问对象时使用的名称。
<param>标签指定要公开给javascript的java类名。
<include>标签指定要公开给javascript的方法。不指定的话就公开所有方法。
<exclude>标签指定要防止被访问的方法。
1.2、javascript中调用
首先,引入javascript脚本
<script src='dwr/interface/ testClass.js'></script>
<script src="/dwr/engine.js"></script>
<script src="/dwr/util.js"></script>
其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。
其次,编写调用java方法的javascript函数
Function callTestMethod1(){
testClass.testMethod1();
}
2、调用有简单返回值的java方法
2.1、dwr.xml的配置
配置同1.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod2"/>
</create>
</allow>
</dwr>
2.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
Function callTestMethod2(){
testClass.testMethod2(callBackFortestMethod2);
}
Function callBackFortestMethod2(data){
//其中date接收方法的返回值
//可以在这里对返回值进行处理和显示等等
alert("the return value is " + data);
}
其中callBackFortestMethod2是接收返回值的回调函数
3、调用有简单参数的java方法
3.1、dwr.xml的配置
配置同1.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod3"/>
</create>
</allow>
</dwr>
3.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数
Function callTestMethod3(){
//定义要传到java方法中的参数
var data;
//构造参数
data = “test String”;
testClass.testMethod3(data);
}
4、调用返回JavaBean的java方法
4.1、dwr.xml的配置
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod4"/>
</create>
<convert converter="bean" match=""com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
<creator>标签负责公开用于Web远程的类和类的方法,<convertor>标签则负责这些方法的参数和返回类型。 convert元素的作用是告诉DWR在服务器端Java 对象表示和序列化的JavaScript之间如何转换数据类型。DWR自动地在Java和JavaScript表示之间调整简单数据类型。这些类型包括 Java原生类型和它们各自的封装类表示,还有String、Date、数组和集合类型。DWR也能把JavaBean转换成JavaScript 表示,但是出于安全性的原因,要求显式的配置,<convertor>标签就是完成此功能的。converter="bean"属性指定转换的方式采用JavaBean命名规范,match=""com.dwr.TestBean"属性指定要转换的javabean名称,<param& gt;标签指定要转换的JavaBean属性。
4.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
Function callTestMethod4(){
testClass.testMethod4(callBackFortestMethod4);
}
Function callBackFortestMethod4(data){
//其中date接收方法的返回值
//对于JavaBean返回值,有两种方式处理
//不知道属性名称时,使用如下方法
for(var property in data){
alert("property:"+property);
alert(property+":"+data[property]);
}
//知道属性名称时,使用如下方法
alert(data.username);
alert(data.password);
}
其中callBackFortestMethod4是接收返回值的回调函数
5、调用有JavaBean参数的java方法
5.1、dwr.xml的配置
配置同4.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod5"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
5.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数
Function callTestMethod5(){
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object
data = { username:"user", password:"password" }
testClass.testMethod5(data);
}
6、调用返回List、Set或者Map的java方法
6.1、dwr.xml的配置
配置同4.1
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod6"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
注意:如果List、Set或者Map中的元素均为简单类型(包括其封装类)或String、Date、数组和集合类型,则不需要<convert>标签。
6.2、javascript中调用(以返回List为例,List的元素为TestBean)
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
Function callTestMethod6(){
testClass.testMethod6(callBackFortestMethod6);
}
Function callBackFortestMethod6(data){
//其中date接收方法的返回值
//对于JavaBean返回值,有两种方式处理
//不知道属性名称时,使用如下方法
for(var i=0;i<data.length;i++){
for(var property in data){
alert("property:"+property);
alert(property+":"+data[property]);
}
}
//知道属性名称时,使用如下方法
for(var i=0;i<data.length;i++){
alert(data.username);
alert(data.password);
}
}
7、调用有List、Set或者Map参数的java方法
7.1、dwr.xml的配置
<dwr>
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="/com.dwr.TestClass" />
<include method="testMethod7"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
<signatures>
<![CDATA[
import java.util.List;
import com.dwr.TestClass;
import com.dwr.TestBean;
TestClass.testMethod7(List<TestBean>);
]]>
</signatures>
</dwr>
<signatures>标签是用来声明java方法中List、Set或者Map参数所包含的确切类,以便java代码作出判断。
7.2、javascript中调用(以返回List为例,List的元素为TestBean)
首先,引入javascript脚本
其次,编写调用java方法的javascript函数
Function callTestMethod7(){
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object数组,即数组的每个元素均为object
data = [
{
username:"user1",
password:"password2"
},
{
username:"user2",
password:" password2"
}
];
testClass.testMethod7(data);
}
注意:
1、对于第6种情况,如果java方法的返回值为Map,则在接收该返回值的javascript回调函数中如下处理:
function callBackFortestMethod(data){
//其中date接收方法的返回值
for(var property in data){
var bean = data[property];
alert(bean.username);
alert(bean.password);
}
}
2、对于第7种情况,如果java的方法的参数为Map(假设其key为String,value为TestBean),则在调用该方法的javascript函数中用如下方法构造要传递的参数:
function callTestMethod (){
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object,其属性名为Map的key,属性值为Map的value
data = {
"key1":{
username:"user1",
password:"password2"
},
"key2":{
username:"user2",
password:" password2"
}
};
testClass.testMethod(data);
}
并且在dwr.xml中增加如下的配置段
<signatures>
<![CDATA[
import java.util.List;
import com.dwr.TestClass;
import com.dwr.TestBean;
TestClass.testMethod7(Map<String,TestBean>);
]]>
</signatures>
3、由以上可以发现,对于java方法的返回值为List(Set)的情况,DWR将其转化为Object数组,传递个javascript;对于 java方法的返回值为Map的情况,DWR将其转化为一个Object,其中Object的属性为原Map的key值,属性值为原Map相应的 value值。
4、如果java方法的参数为List(Set)和Map的情况,javascript中也要根据3种所说,构造相应的javascript数据来传递到java中。
8.如果用到spring +dwr
首先在web.xml的开始部分加上
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
并且dwr中配置为:
<dwr>
<allow>
<create creator="spring" javascript="testClass" >
<param name="beanName" value="userbiz" />
<include method="testMethod4"/>
</create>
<convert converter="bean" match=""com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
其他和上面一样
相关推荐
DWR调用及传参总结
以上本人学习DWR后总结的一个简单的文档,主要总结了调用方法,以及不同参数形态的传递方法,例如,多参数传递、Map参数传递、List参传递数,对象参数传递有参数互传等。
DWR使用向DWR传递map/返回map
1、调用没有返回值和参数的JAVA方法1.1、dwr.xml的配置标签中包括可以暴露给javascript访问的东西。标签中指定javascript中可以访问的java类,并定义DWR应当如何获得要进行远程的类的实例。creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获
基因家族快速鉴定指南:Windows平台下的HMMER实战解析
本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。
DWR调用入参为Map的方法
在页面中通过DWR技术调用入参为Map的后台方法时,只需要在页面中定义如下格式的函数就可以了 var mapIt = {key1:value1 ,key2:value2} ; 我页面的实现代码 var bigClassSelect = document.getElementById('IMtypeId') var bigClassValue = bigClassSelect.optio
用Python和sklearn预测NBA比赛胜负:从数据清洗到模型优化的完整流程
本文详细介绍了如何使用Python和sklearn构建NBA比赛胜负预测模型,涵盖从数据清洗、特征工程到模型优化与部署的完整流程。通过对比随机森林、XGBoost等主流算法,提供实战技巧和解决方案,帮助数据爱好者掌握体育数据分析的核心技术。
Mujoco xml actuator
在MuJoCo中,actuator(执行器) 是用于定义外部力或力矩的机制,这些力或力矩可以作用于关节、肌腱或身体。执行器可以模拟各种类型的驱动器,如电机、液压缸、肌肉等。它们通过定义传输(transmission)和力生成机制(force generation)来实现对模型的控制。
DWR 回调函数与主函数变量传递
在使用dwr时,根据id获取一个pojo对象,在页面js中得到的是一个被转换的js对象,很方便使用。可是这个返回值只能在dwr回调函数里面使用,再把此返回值赋值给其他变量也会有问题。发现可以这样实现: //设置成同步 DWREngine.setAsync(false); adminnamecheck.checkAdminPasDWR(adminname, old,
vmware vsphere5---部署vCSA(VMware vCenter Server)附带第二阶段安装报错解决方案
因为这份文档我是边做边写的,遇到问题重新装了好几次所以IP会很乱ESXI主机为192.168.20.10VCSA为192.168.20.7,后台为192.168.20.7:5480后期请自行对应,后面的192.168.20.57请对应192.168.20.7,或根据自己的来。
后端返回map对象,前端解析
对象返回指定的元素。如果与所提供的键相关联的值是一个对象,那么你将获得该对象的引用,对该对象所做的任何更改都会有效地在。map.forEach():遍历 Map 的所有成员。map.entries():返回所有成员的遍历器。特点:不管map多大,访问速度不变。4.访问:map.get(‘a’)3、转换为ES6 map对象。2、前端接收,默认为对象。
论文记录:Affine Formation Maneuver Control of Multiagent Systems
多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:
【RT-DETR实战】112、NCNN模型转换与层实现支持:从模型文件到推理引擎的硬核实战
本文详细记录了将RT-DETR模型部署到NCNN框架的全过程及关键要点。作者首先遇到MultiHeadAttention等算子不支持的问题,通过ONNX中间转换和自定义层实现解决。文章具体介绍了PyTorch到NCNN的权重转换技巧、模型优化方法(包括量化和线程优化)以及调试经验,强调逐层对比输出、预处理检查和边界情况测试的重要性。最后分享了保持转换流程可复现性的实用建议,指出手动调试虽然耗时但能加深对模型的理解,体现了工程师在解决技术难题时的专业精神与成就感。
DWR 实现js传Map值
[code="java"] 今天忽然要用到dwr组件,从界面传一个Map到后台,在后台传一个list到页面在解析,找了很久的方法,由于一些失误,让我找了很久,现在写出这个步骤来。 1.最重要的: var userUserData = new Object(); 不能把Object()换成Array()了,我就是这里写错了,结果找了足足有两小时。 2.添加值:key是Map,key对应M...
北斗导航 | 接收机自主完好性监测与神经网络结合的技术路径、应用场景及研究进展
2] 许承东, 黄国限, 钟贤发, 等. 一种用于神经网络RAIM的故障卫星识别方法[P]. 中国专利: CN117192573A, 2023-12-08.随着6G通信与低轨卫星星座的融合发展,神经网络RAIM有望在2025-2030年实现从辅助技术向主导技术的跨越,成为智能导航系统的核心支撑技术。该架构采用改进型BP神经网络实现非线性映射,在GPS/北斗双模系统中实现98.7%的故障识别率[2]。注:测试条件为GPS/北斗双模系统,12颗可见卫星,含3颗故障卫星的复合场景。
DWR 实现AJAX学习
内容引用 http://blog.youkuaiyun.com/angel_bear/article/details/1636985 Ajax是时下比较流行的一种web界面设计新思路,其核心思想是从浏览器获取XMLHttp对象与服务器端进行交互. DWR(Direct Web Remoting)就是实现了这种Ajax技术的一种web框架. 使用方法: 一、配置DWR(http://geta...
【Unity实战篇 】| Unity实现 文本框可以自适应大小,到达最大宽度之后再缩小字体
Unity实现 Text文本框可以自适应大小,到达最大宽度之后再缩小字体 需求:在文本框可以自适应大小拉伸的前提下,增加一个最大限制宽度,使其到达最大宽度后 再启用 Best Fit 实现自适应改变文字大小以适应文本框的大小。 在Unity中经常会用到文本组件的自适应大小功能,一般使用HorizontalLayoutGroup和ContentSizeFitter组件配合即可实现文本自适应的效果。
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
关于AJAX 框架DWR的学习
经过了两天的摸索。终于写了一个DWR2.0的helloworld的例子,其中的快乐不言而遇。总结有三:一:找到dwr.jar很重要。二:js文件很重要。最好到官方网站上下,不然版本不一,是运行不起来的。三:配置文件很重要,具体看我的另外一篇文章.总之,我会一点一点的学习,积累,把自己的所学和大家分享。追求技术,永无止境!
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
简化ajax的使用之DWR学习
这几天一直在看web service 和 axis2 。感觉这趟水太浑,太深,整个脑袋瓜晕晕的。不过还行,也算是进步了。正如某校长在毕业典礼上的致辞说过“人生就像高压锅。压力大了,自然就熟了”。我觉得挺在理的,但是大家都明白,压力也不能太大,不然就要发生爆炸事件了。所以呢。我今天就看了下DWR,换换口味。我觉得如果按照官方文档也是蛮简单的。http://directwebremoting.org/
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
dwr实现ajax学习
前一段时间看了一点dwr实现ajax的介绍信息,一直想找个机会看看到底怎么用。今天起了个早,试了一下感觉还挺好用的。下面是我的一点学习总结: 一、配置DWR(http://getahead.org/dwr/getstarted)1、将dwr.jar包放在web-info/lib目录下2、编辑web.xml文件,添加servlet <servlet><ser...
Ajax学习系列4— 通过DWR简化AJAX开发
DWR(Direct Web Remoting)是一个WEB远程调用框架,采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码。这样WEB开发人员就可以在JavaScript里使用Java代码,就像它们是浏览器的本地代码(客户端代码)一样。 其开发过程如下: 拷贝dwr.jar文件 修改web.xml文件,添加dwr servlet配置 编写dwr组件
Ajax框架之DWR学习(DWR 和Spring整合)-yellowcong
Spring和Dwr的整合,这个和Spring的整合方式,只是创建Bean的方式不一样,不是通过new 的方式,而是通过Spring注入,但是Dwr和SpringMvc的配置,就完全不一样了。 目录结构 环境搭建 pom.xml <project...
dwr3 Reverse Ajax学习小结
按照官网的例子,自己搭建了Clock等实例,回个头来总结下其中遇到的问题: 1、piggyback方式 dwr默认采用的是piggyback这种被动模式,如果需要采用这种模式的话不需要任何额外的配置就能完成。所谓的Piggyback指的是如果后台有什么内容需要推送到前台(即调用页面的js方法),是要等到那个页面进行下一次ajax请求的时候,将需要推送的内容附加在该次请求之后,传回到页面...
AJAX框架 -- DWR学习
HTML source: Name: Reply: Javascript source:var services = new dojox.rpc.Service({ target:"../dwr/jsonrpc", transport:"POST", envelope:"JSON-RPC-1.0",
4779



被折叠的 条评论
为什么被折叠?



