EXTJS与java后台交互(一)DWR使用 很实用的方法
来源:互联网 发布:cloud outliner 知乎 编辑:程序博客网 时间:2024/05/24 01:40
EXTJS与java后台交互(一)DWR使用
最近做的项目,前台界面用EXTJS,后台用Java写,他们之间的交互我目前接触到的有两种,简单介绍.
先介绍第一种方法:在EXTJS里直接调用Java方法.
在EXTJS里想用Java方法的需求很广泛,例如在界面想从后台取值做个判断,做个验证之类,或者要取到表格数据等.都是可以直接跟后台Java代码打交道.而我们又知道,js是脚本语言,只能在客户端执行,与Java代码是不互通的,所以这里使用了DWR,是个AJAX的框架.(关于DWR不多说,网上内容很多,有兴趣的可以自己研究).主要说使用方法.
首先需要引入dwr.jar包
然后需要配置web.xml文件,添加:
- <servlet>
- <servlet-name>dwr-invoker</servlet-name>
- <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>true</param-value>
- </init-param>
- </servlet>
- <servlet-mapping>
- <servlet-name>dwr-invoker</servlet-name>
- <url-pattern>/dwr/*</url-pattern>
- </servlet-mapping>
然后要新建dwr.xml文件,配置想要在js里用的Java类名和路径.
示例:
- <?xml version="1.0"encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAheadLimited//DTD Direct Web Remoting 2.0//EN"
- "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
- <dwr>
- <allow>
- <create creator="new" javascript="TestAction" scope="application">
- <param name="class"value="com.wh.TestAction"/>
- </create>
- </allow>
- <signatures>
- <![CDATA[
- ]]>
- </signatures>
- </dwr>
其中JavaScript=”类名” ,param name=”类所在路径”
DWR的核心原理就是根据配置的类路径动态生成基于JAVA类的JavaScript代码,看似在js里用的Java方法其实还是js代码.
在js里调用这个”Java方法”的写法上跟调用Java代码也是有区别的.
示例:(基于上面的DWR配置):
Java类:
- package com.wh;
- public class TestAction {
- /**
- * 简单的传入字符串参数,返回字符串的方法
- * @param testString
- * @return
- */
- public String myTest(String testString){
- return testString+"wh";
- }
- }
EXTJS界面:
- //在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方法执行完之后会回调返回值的匿名函数,函数的参数就是真正调用的方法的返回值,然后在这个函数的方法体里我们可以对参数,也就是我们需要的返回值进行相应的处理.
- EXTJS与java后台交互(一)DWR使用 很实用的方法
- EXTJS与java后台交互(一)DWR使用
- EXTJS与java后台交互(一)DWR使用
- EXTJS与java后台交互DWR使用
- EXTJS与java后台交互(二)JSON使用
- EXTJS与java后台交互(二)JSON使用
- extjs与后台交互
- ExtJs 与后台交互实例
- Extjs和Asp.NET后台的数据交互(一) => Newtonsoft.Json 使用简介
- Extjs 与后台进行交互的基本操作
- DWR之与客户端的DWR交互
- DWR之与服务器端的DWR交互
- dwr与session的交互
- FLASH与 php后台交互的方法
- Extjs datefield 时间与后台交互
- ExtJs--FormPanel简单与后台交互
- Extjs分页数据与后台交互
- dwr与spring一起使用的方法
- IE盒子模型和标准W3C盒子模型
- Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
- 禁止uiscrollview垂直方向滚动,只允许水平方向滚动;或只允许垂直方向滚动
- sqlserver中判断表或临时表是否存在
- 富文本编辑框的使用
- EXTJS与java后台交互(一)DWR使用 很实用的方法
- 怎样新建一个Java的Web Service
- 《连线》:PC虽将死 计算已无处不在
- T-SQL with关键字 with as 递归循环表
- 【如何20秒内进入XP系统】
- 在PHP中使用正则表达式进行查找替换
- java操作txt
- 无线传感器网络节点太阳能供电系统设计
- java读取Excel文件