Dwr的一个基础应用实例,配置
Dwr 基础应用
第一步:引用jar包(已上传,这些包中,其实就 dwr最为主要)
第二部:配置web.xml的dwr 的servlet映射
?????? <servlet>
??? <servlet-name>dwr-invoker</servlet-name>
??? <servlet-class>org.directwebremoting.servlet.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>
第三步:写自己的 java类
???? 例子:
??????????? //传参数----字符串
?public String hellos(String name)
?{
??String cc=name.toUpperCase();
??return "你好吗"+cc;
?}
?//一个集合list
?public ArrayList retList()
?{
??ArrayList helloList = new ArrayList();
??helloList.add("XXXX");
??helloList.add("X");
??helloList.add("18");
??return helloList;
?}
?
第四步:配置dwr.xml
?
dwr.xml范例:
???????? 解释备注:
????????????????????? dwrScript//这是前台调用的一个javascript 函数名字
??????????????????????dwr.test.serviceDwr//这是你写的java类的名字 一定要 写全位置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
?<create creator="new" javascript="dwrScript">
??<param name="class" value="dwr.test.serviceDwr"></param>
?</create>
</allow>
</dwr>
????
第五步:【先不要急着写前台的代码】测试自己写的?dwr
例子:???? http://localhost:8080/你的工程名字/dwr
?
第六步:写前台调用代码
例子:?
?? 1,先倒入 dwr?的js
?? <script type='text/javascript' src='/DwrFirst/dwr/interface/dwrScript.js'></script><!--这是自己工程的-->
???<script type='text/javascript' src='/DwrFirst/dwr/engine.js'></script><!--这是dwr公共的-->
???<script type='text/javascript' src='/DwrFirst/dwr/util.js'></script>???<!--这是dwr公共的-->
返回一个字符串的例子
//----------------------------------------------------------------------
<script type="text/javascript">
???
??? function hellobutton()
??? {
??? ?var name=document.getElementById("hello").value;
??? ?dwrScript.hellos(name,callhello);//回调函数(callhello是一个回调的值)
??? }
??? var callhello=function(data)
??? {
??? ?//data??? 这是一个从服务器也就是 从类中方法中传出来的值
??? ?alert("回调函数的值:"+data);
??? }
???
??? </script>
? </head>
?
? <body>
??? <input name="hello" id="hello" value="hello" onclick="hellobutton()">
? </body>
//-------------------------------------------------------------
//这是返回一个list 的 例子
<script type="text/javascript">
?function getdwrListi()
?{
??dwrScript.retList(getjavascriptlist);//dwrScript 是 在dwr.xml中? 配置的一个对象。retList这是你写的java类的一个方法
?}
?
?var getjavascriptlist=function(data)
?{
??for(i=0;i<data.length;i++)
??{
???alert("看看java类的集合的值:"+data[i])
??}
?}
?</script>
? </head>
?
? <body>
??? <input type="button" id="btnlist" name="btnlist" value="得到javalist的值" onclick="getdwrListi()">
? </body>
//----------------------------------------------------------------------