DWR是一种ajax的java实现,它提供了一种能在web浏览器端采用javascript语言直接调用后台业务逻辑组件的解决方。
一、下载dwr.jar,将dwr拷贝到lib目录下。
二、编辑配置web.xml文件。加入如下代码:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
三、在WEB-INF/下增加dwr.xml文件,该文件负责java类与javascript之间的对应关系.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr//dwr20.dtd">
<dwr>
<allow>
<create javascript="getAllMember" creator="new">
<param name="class" value="shield.service.MemberService"/>
<include method="getAllmember"/>
<include method="getPageCount"/>
</create>
<convert match="shield.vo.MemberPO" converter="bean"></convert>
四、在需要使用dwr的页面导入如下js:
<script type="text/javascript" src="/dwr/engine.js"></script>
<script type="text/javascript" src="/dwr/util.js"></script>
<script type="text/javascript" src="/dwr/interface/getAllMember.js"></script>/*getAllMember为dwr.xml文 件 中创建器所配置的javascript="getAllMember"*/
DWR转换器与创建器
转换器:将java实例转换成javascript对象.在dwr.xml文件中配置为<convert match=" converter=""></convert>.
有基本转换器:对基本数据类型的转换,无须显示打开.
对象转换器:对javabean的转换.<convert match="javabean的完整路径" converter="bean"></convert
数组转换器:默认打开.
集合类型转换器:默认打开.
创建器:
<create javascript="getAllMember" creator="new|spring|struts">
<param name="class|beanName|formBean" value="shield.service.MemberService"/>
<include method="getAllmember"/>
<include method="getPageCount"/>
</create>
有new创建器: <param name="class" value=""/>
spring创建器:<param name="beanName" value=""/>
struts创建器:<param name="formBean" value=""/>
Note:不同的creator对应不同的 <param name>
DWRUtil的使用:
1.访问html元素值
DWRUtil.getValue():获取元素的值
DWRUtil.setValue():设置元素的值
DWRUtil.getValues():一次可获取多个html元素的值
var obj={
txt:null, //txt为id值
password:null,
area;null,
select:null
};
DWRUtil.getValues(obj);
var result="";
for(var name in obj){
result+=obj[name]+"/n";
}
DWRUtil.setValues():一次可设置多个html元素的值
var obj={
txt:"mao",
password:"123456",
area:"湖南",
select:"程序员"
};
DWRUtil.setValues(obj):
2.处理表格:
DWRUtil.addrows(tableID,array,funArray)//tableID一般为<tbody>的ID
DWRUtil.removeAllRows(tableID);
3.处理列表:
a.数组,值与文本一样
<select id="city"></select>
var array=['请选择一个城市','北京','上海','广州'];
DWRUtil.addOptions("city",array);
b.对象数组:值与文本一样
var array=[{name:'中国'},{name:'美国'},{name:'日本'}];
DWRUtil.addOptions("id",array,"name");
c.值与文本不一样
var array=[
{typeName:'男',typeID:'1'},
{typeName:'女',typeID:'0'}
];
DWRUtil.addOptions('id',array,'typeId(值)','typeName(文本)');
d.对象属性名为值,对象属性值为文本
var obj={city:'北京',country:'中国'};
DWRUtil.addOptions("id",obj);
e.为ul或ol添加项
<ul id="city"></ul>
var optionArr=['广州','北京','上海'];
DWRUtil.addOptions("city",optionArr);
DWR的使用
最新推荐文章于 2017-06-19 12:07:46 发布