您的位置:首页 > 其它

一个简单的dwr例子

2008-06-20 12:34 465 查看
项目架构中整合了dwr,所以平时也就照着用,以前搞过早忘了,一直没自己完整的敲个心里不爽啊,最近找个敲了下,居然顺利跑起来,心情那个明媚啊

1.环境:eclips+Nitrox(myEclips插件也一样),dwr本版1.0(有点低了,不过手头有1.0包就用用,懒得去下了,原谅下把^_^...),建个web项目,不多说,直接上图,看机构,很清晰把:



2.先看效果图,这样,心里有奔头,呵呵



效果大概讲下:输入内容点“你好”按钮,哈罗那段话后面就变,无刷新,鼠标移到图片上下面对应显示介绍,当然图片我自己找的,并不是什么书,就是那个意思了,你那么聪明能明白哦,o(∩_∩)o...

3.看代码

BOOK.java

/**

*

*/

packagetest;

importjava.util.Locale;

importjava.util.ResourceBundle;

/**

*@authorgjy

*

*/

publicclassBook{

privateResourceBundleresource;

Localelocale=newLocale("UTF-8");

publicBook(){

resource=ResourceBundle.getBundle("resources/book",locale);//找对应资源文件

}

publicStringgetDescription(Stringkey){

returnresource.getString(key);//根据获得的值取得对应资源文件中的描述,作为返回值

}

}

Hello.java

/**

*

*/

packagetest;

/**

*@authorgjy

*

*/

publicclassHello{

publicStringhello(Stringname){

return"哈罗!"+name+"!您的第一个DWR";

}

}

book.js

functiongetBookData(ele){

//Book.java??getDescription??

Book.getDescription(ele.id,setBookData);}

//????

functionsetBookData(d){

DWRUtil.setValue('info',d);}

functionclearData(){

DWRUtil.setValue('info','');}


hello.js

functionhello(){
varuser=$("user").value;
//$(id)??document.getElementById("id")
Hello.hello(user,callback);
}
functioncallback(msg){
DWRUtil.setValue("result",msg);
}

资源文件:book_zh_CN.properties

ajax=Ajaxinaction/u4E2D/u6587/u7248/u7684/u4ECB/u7ECD/u2026

java=Java/u5B66/u4E60/u7B14/u8BB0/u7684/u4ECB/u7ECD

spring=Spring/u6280/u672F/u624B/u518C/u7684/u4ECB/u7ECD/u2026BlaBla...


web.xml文件

<?xmlversion="1.0"encoding="ISO-8859-1"?>

<web-appxmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

<display-name>WebApplication</display-name>

<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>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>


其中:

<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>


是对drw的配置一定要有的哦.

dwr.xmlpei文件


<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting1.0//EN""http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>

<allow>

<createcreator="new"javascript="JDate">

<paramname="class"value="java.util.Date"/>

</create>

<createcreator="new"javascript="Hello">

<paramname="class"value="test.Hello"/>

</create>

<createcreator="new"javascript="Book"scope="application">

<paramname="class"value="test.Book"/>

</create>

</allow>

</dwr>

对对应类的配置。

index.jsp文件

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/engine.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/JDate.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/Hello.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/util.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/Book.js'></script>

<scripttype="text/javascript"src="js/hello.js"></script>

<scripttype="text/javascript"src="js/book.js"></script>

<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">

<title>第一个DWR程序</title>

</head>

<body>

<tablewidth="606"height="98"border="1"bordercolor="#bde3ff">

<tr>

<tdwidth="223"><inputid="user"type="text"/><input

type="button"value="你好"onClick="hello();"/></td>

</tr>

<tr>

<tdcolspan="2">

<divid="result"></div>

</td>

</tr>

</table>

<divid="ajax"onmouseover="getBookData(this);"

onmouseout="clearData();"><a

href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=AXP011800"><small><img

style="border:0pxsolid;width:80px;height:110px;float:left;"

alt="Ajaxinaction中文版"title="Ajaxinaction中文版"

src="images/a.jpg"hspace="10"vspace="2"></small></a></div>

<divid="spring"onmouseover="getBookData(this);"

onmouseout="clearData();"><a

href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=ACL021000"><small><img

style="border:0pxsolid;width:80px;height:110px;float:left;"

alt="Spring技术手册"title="Spring技术手册"src="images/b.jpg"

hspace="10"vspace="2"></small></a></div>

<divid="java"onmouseover="getBookData(this);"

onmouseout="clearData();"><a

href="http://www.gotop.com.tw/waweb2004/home/home.aspx?pg=HM010X&bn=ACL020931"><small><img

style="border:0pxsolid;width:80px;height:110px;float:left;"

alt="Java学习笔记"title="Java学习笔记"

src="images/a.jpg"hspace="10"vspace="2"></small></a></div>

<br/><br/><br/><br/><br/><br/><br/><br/>

<divid="info"></div>

</body>

</html>


这两个js是必须要引的啦
<scripttype="text/javascript"src="js/hello.js"></script>

<scripttype="text/javascript"src="js/book.js"></script>



这个几个是对应你dwr.xml中配置的对应的java类,javascript="Hello",这样知道找哪个类:

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/JDate.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/Hello.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/util.js'></script>

<scripttype='text/javascript'

src='<%=request.getContextPath()%>/dwr/interface/Book.js'></script>


就这么多把,有需要的我也可以打个包发给你。。。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: