1. 把dwr.jar文件放入WEB-INF/lib下
2. 打开web.xml文件,将下列代码添加到文件中
<servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>uk.ltd.getahead.dwr.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> |
3. 在WEB-INF下新建一个dwr.xml文件,代码如下
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr> <allow> <create creator="spring" javascript="CountSingleProvince"> <param name="beanName" value="systemQuery"/> </create> <create creator="spring" javascript="CountCityInProvince"> <param name="beanName" value="systemQuery"/> <include method="countCityInProvince"/> </create> <convert converter="bean" match="com.boco.pcm.web.dto.countryDistribute.CountAllProvinceDto" /> <convert converter="bean" match="com.boco.pcm.web.dto.countryDistribute.ProvinceDistributeDto" /> <signatures> <![CDATA[ import java.util.List; import com.boco.pcm.query.SystemQuery; import com.boco.pcm.web.dto.countryDistribute.ProvinceDistributeDto; systemQuery.countCityInProvince(List<ProvinceDistributeDto>); ]]> </signatures> </allow> </dwr> |
<creator>标签
creator是创建这个对象所使用的构造器,如果你使用了spring并且在creator中选择了spring,那么你需
要一个叫beanName的参数,而其值就是spring配置文件中配置的beanName,如systemQuery。
<exclude>标签
可以禁止页面调用后台的某个或某些方法。
<include>标签
则规定页面只能调用某些方法。
<converter>标签
converter用于告诉dwr用什么dwr的类来执行转换,常用的转换器有bean、object、hibernate2、
hibernate3等。建议使用hibernate3。
<signatures>标签
用来声明java方法中List、Set或者Map参数所包含的确切类,以便java代码作出判断。
4. 在jsp页面进行引用,代码如下
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/CountSingleProvince.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/CountCityInProvince.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script> <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script> |
5. 在jsp页面写js代码,代码如下
function getSingleProvinceInfo(){ CountSingleProvince.countSingleProvince(callBack_countAllProvinceDto,"78"); }
function getCityInProvinceInfo(id){ CountCityInProvince.countCityInProvince(callBack_countAllCityInProvinceList,id); }
function callBack_countAllProvinceDto(provinceCompanyInfo){ document.getElementById("pname").innerHTML=provinceCompanyInfo.provinceId; document.getElementById("ptotal").innerHTML=provinceCompanyInfo.numOfCity; document.getElementById("pfinished").innerHTML=provinceCompanyInfo.numOfAlreadyDistributeCity; document.getElementById("punfinished").innerHTML=provinceCompanyInfo.numOfUnalreadyDistributeCity; }
function callBack_countAllCityInProvinceList(cityInProvinceCompanyInfoList){ var html=doCityInProvinceCompanyInfoList(cityInProvinceCompanyInfoList); document.getElementById("showCity").innerHTML=html; }
function doCityInProvinceCompanyInfoList(cityInProvinceCompanyInfoList){ var html="<table class='data_table' cellpadding='0' cellspacing='0' border='0'><tr>"; html+="<tr><td class='table_data_td_title_1'>接入机构</td>"; html+="<td class='data_common_td'>申请数量</td>"; html+="<td class='data_common_td'>已完成数量</td>"; html+="<td class='data_common_td'>未完成数量</td>"; html+="</tr><tr>"; for(var i=0 ; i<cityInProvinceCompanyInfoList.length ; i++){ html+="<td class='table_data_td_title_1'>"+cityInProvinceCompanyInfoList[i].cityName+"</td>"; html+="<td class='data_common_td'>"+cityInProvinceCompanyInfoList[i].numOfApply+"</td>"; html+="<td class='data_common_td'>"+cityInProvinceCompanyInfoList[i].numOfFinish+"</td>"; html+="<td class='data_common_td'>"+cityInProvinceCompanyInfoList[i].numOfUnfinish+"</td>"; html+="</tr>"; } return html; } |