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" οnclick="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的值" οnclick="getdwrListi()">
</body>
//----------------------------------------------------------------------------------------------------------