DWR调用Java中的方法

一、新建一个Java类及方法供JS调用
package com.jtv.az.module.shopazsafeday.dwr;
public class SafeDayInvoker {
public List<ShOpAzSafeDay> getSafeDay(){
return this.shOpAzSafeDayManager.getSafeDay();
} //该方法返回一个List集合,在JS中对应为一个数组
public void clearSafeDay(String [] safeDayId){
this.shOpAzSafeDayManager.updateClearSafeDay(safeDayId);
}
}
二、编写XML配置文件
Spring管理DRW,XML文件需要和java文件放在同一个目录下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"
default-lazy-init="true">
<bean id="safeDayInvoker" scope="request" class="com.jtv.az.module.shopazsafeday.dwr.SafeDayInvoker" > //配置java中的类
<property name="shOpAzSafeDayManager" ref="shOpAzSafeDayManager" ></property> //配置类中的属性
<dwr:remote javascript="safeDayInvoker"></dwr:remote> //配置在JS中用于调用java中方法的变量名
</bean>
</beans>
三、在JS中调用java中的方法
1.导入JS文件
<script type='text/javascript' src='${root}/dwr/engine.js'></script>
<script type='text/javascript' src='${root}/dwr/util.js'></script>
<script type='text/javascript' src='${root}/dwr/interface/safeDayInvoker.js'></script> 这个JS文件名就是XML中<dwr:remote javascript="safeDayInvoker"></dwr:remote> 配置的这个名字
2.编写JS函数调用Java中的方法
function getSafeDay(){
safeDayInvoker.clearSafeDay(safeDaysId,doQuery); //调用带参数的方法 safeDaysId为传入的参数
//调用Java方法获取安全天数信息
safeDayInvoker.getSafeDay(getData); //getData是方法名
}
function getData(data){ //data用于接收java中的返回值
inItSafeDay(data);
}
function inItSafeDay(sf){
$('safeItem1').innerHTML=sf[0];
$('safeDay1').innerHTML=sf[1];
$('safeItem2').innerHTML=sf[2];
$('safeDay2').innerHTML=sf[3];
}  

你可能感兴趣的:(JavaScript,java,xml,function,DWR,encoding)