1.web.xml中配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<description>What config file do we use?</description>
<param-name>config</param-name>
<param-value>/WEB-INF/conf/dwr/dwr.xml</param-value>
</init-param>
<init-param>
<param-name>scriptCompressed</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
2./WEB-INF/conf/dwr/dwr.xml中配置
creator="new"可以换做creator="spring"去写,这里就不累述creator="spring",不过本人习惯于使用new,使用new的好处
Ø 安全性
生命周期比较短的creator可以得到更好的安全性,通过不同的应用情况设置适合的生命周期.
Ø 低内存开销
在访问量比较大的情况下,可以不用担心发生内存泄露的情况
<allow>
<create creator="new" javascript="ProProgressAjax">
<param name="class"
value="com.hicom.dwr.projprogress.ProProgressAjax"/>
</create>
</allow>
3.spring*.xml中配置(本人专门搞了一个spring-dwr.xml,用于配置项目中使用的DWR的JAVA类,感觉这样要清晰一些,嘿嘿)
<bean id="proProgressDwrService" parent="txProxyTemplate">
<property name="proxyInterfaces"
value="com.hicom.dwr.projprogress.ProProgressDwrService" />
<property name="target">
<bean
class="com.hicom.dwr.projprogress.ProProgressDwrServiceImp">
<property name="daoService" ref="daoService" />
</bean>
</property>
</bean>
4.ProProgressAjax.java部分代码
public boolean isExistEmp(String beginDate,String endDate,Long projectId,Integer type){
ProProgressDwrService service = (ProProgressDwrService) SpringContext
.getObject("proProgressDwrService");
return service.isExistPerson(beginDate, endDate, projectId, type);
}
4.某个jsp部分代码
<head>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/interface/ProProgressAjax.js">
</script>
</head>
function fEarn() {
var oHiddenId = document.getElementById("selectedId");
if(oHiddenId.value == "") {didnothaveemp
alert('<bean:message key="mustselectoneline" bundle="msg"/>');
return;
}
else {
var plan = document.getElementById("plan_" + oHiddenId.value).value;
var act = document.getElementById("act_" + oHiddenId.value).value;
var begin = document.getElementById("begin_" + oHiddenId.value).value;
var end = document.getElementById("end_" + oHiddenId.value).value;
ProProgressAjax.isExistEmp(begin.substring(0,10),end.substring(0,10),3,2,earnFunction);
}
}
function earnFunction(boolean){
if(boolean){
var oHiddenId = document.getElementById("selectedId");
// 已经有过挣值不能删除
if(document.getElementById("ui_" + oHiddenId.value).value == 1) {
if(confirm('<bean:message key="emp.progress" bundle="msg"/> <bean:message key="delconfirm1" bundle="msg"/>')) {
var oMethod = document.getElementById("idMethod");
oMethod.value="earn";
document.projProgressForm.submit();
}
}else{
if(confirm('<bean:message key="delconfirm1" bundle="msg"/>')) {
var oMethod = document.getElementById("idMethod");
oMethod.value="earn";
document.projProgressForm.submit();
}
}
}else{
alert('<bean:message key="didnothaveemp" bundle="msg"/>');
}
}
//由于涉及到项目的机密,所以本人将所有注释都删掉了,海涵啊~~