EXTJS与java后台交互(一)
最近做的项目,前台界面用EXTJS,后台用Java写,他们之间的交互我目前接触到的有两种,简单介绍.
先介绍第一种方法:在EXTJS里直接调用Java方法.
在EXTJS里想用Java方法的需求很广泛,例如在界面想从后台取值做个判断,做个验证之类,或者要取到表格数据等.都是可以直接跟后台Java代码打交道.而我们又知道,js是脚本语言,只能在客户端执行,与Java代码是不互通的,所以这里使用了DWR,是个AJAX的框架.(关于DWR不多说,网上内容很多,有兴趣的可以自己研究).主要说使用方法.
首先需要引入dwr.jar包
然后需要配置web.xml文件,添加:
//在js文件头引用DWR配置 $importjs(ctx + '/dwr/interface/TestAction.js');……中间省略……//定义一个文本框this.testInfo = new Ext.form.TextArea( { height: 200, autoHeight: false, region: 'south', grow: false}); //调用Java方法 TestAction.myTest ("myTest",function(_data){ //将返回值显示在文本框里 this.testInfo.setValue(_data); });
在这个调用的方法里,参数和返回值都是写在我们常用的Java方法的参数的位置,而且返回值是个函数的形式,单从这个返回值的形式也可以大概看出来使用DWR的方法调用Java方法是个回调的过程,这也是AJAX的思想,DWR这个AJAX框架也主要使用回调方式.
调用的Java方法执行完之后会回调返回值的匿名函数,函数的参数就是真正调用的方法的返回值,然后在这个函数的方法体里我们可以对参数,也就是我们需要的返回值进行相应的处理.
第二种与Java代码的交互下篇文章介绍….