例子 5, (函数参数有 servlet 参数)
1. web.xml 和上面的例子一样
2. dwr.xml
<allow>
<convert converter="bean" match="com.cwq.core.dbaccess.HqlCondition">
<param name="include" value="chainconnect,field,operation,value,valuetype"/>
</convert>
<create creator="new" javascript="TestDwr">
<param name="class" value="com.cwq.modules.frontend.ajax.TestDwr"/>
<include method="get2"/>
</create>
</allow>
import java.util.List;
import com.cwq.modules.frontend.ajax.TestDwr;
import com.cwq.core.dbaccess.HqlCondition;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
TestDwr.get2(List, HttpServletRequest, HttpSession);
// 因为有泛型,通过signatures指定参数类型
3. javabean同上,添加函数
public Collection get2(List hqlfilter, HttpServletRequest request, HttpSession session) {
session.setAttribute("req_referer", request.getHeader("referer"));
session.setAttribute("user", System.currentTimeMillis());
return hqlfilter;
}
4. /cwq/test.jsp
<script type="text/javascript">
function call() {
var t1 = { chainconnect:"and", field:"obj.id", operation:"=" };
var a = new Array();
a[0] = t1;
TestDwr.get2(a, {
callback: function callBack(data) {
DWRUtil.setValue("demo1",data[0].field);
}
});
}
</script>
<input name="demo1" value="" />
<input type="button" onclick="javascript:call();"/>
和例子4的一样., js不用改,因为 request,session等的在javabean中的函数参数没需在js的函数中说明
结果: obj.id
null
null
刷新页,可以看到两个null变为
http://127.0.0.1/cwq/test.jsp
t
Labels: Java Direct Web Remoting JavaEE
Trackback: http://cwq.iou1314.com/dwr-servlet-request-session_a15
Trackback: http://cwq.iou1314.com/dwr-servlet-request-session_a15




















