posts - 43,comments - 75,trackbacks - 0

          ajax開源項目dwr的使用:
          ?利用DWR可以在客戶端利用JavaScript直接調用服務端的Java方法并返回值
          ?給JavaScript就好像直接本地客戶端調用一樣.

          ?1:下載dwr.jar文件,將其加入到web工程的lib下;
          ?2:在web.xml文件中配置如下信息:
          ??<servlet>
          ? ???<servlet-name>dwr-invoker</servlet-name>
          ? ???<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
          ??</servlet>
          ??<servlet-mapping>
          ? ???<servlet-name>dwr-invoker</servlet-name>
          ???<url-pattern>/dwr/*</url-pattern>
          ??</servlet-mapping>
          ??? 其中url-pattern中必須配置為 “/dwr/* ”,不能為工程的名稱!!
          ?
          ?3:在web.xml同級中增加文件dwr.xml,此文件是javaScript中調用的方法,影射到class類
          ??例如:
          ?? <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "??<dwr>
          ?? <!-- without allow, DWR isn't allowed to do anything -->
          ? ???<allow>
          ??? ???<create creator="new" javascript="MyTest" scope="application">
          ????? ????<param name="class" value="com.test.ajax.DWRTest"/>
          ??? ???</create>
          ??? ???<create scope="application" creator="new" javascript="showData">
          ??? ????<param name="class" value="com.test.ajax.HelloName"/>
          ??? ???</create>
          ? ???</allow>
          ??</dwr>
          ?在allow節點中定義要影射的class類,并且給其class類起一個javaScript的名字,以便在
          ?javaScript中調用。
          ?
          ?4:然后定義class文件
          ??package com.test.ajax;
          ??public class DWRTest
          ??{
          ???public DWRTest(){
          ?????
          ??? }
          ??? public String getMyName(){
          ???? return "hello_ajax";
          ??? }
          ??}
          ??
          ??/**
          ??*---------------------------------------------------
          ??**/
          ??package com.test.ajax;
          ??public class HelloName
          ??{
          ???private String userName ;
          ???public HelloName(){??
          ???}
          ???/**
          ??? * @return Returns the userName.
          ??? */
          ???public String getUserName()
          ???{
          ????return "helloTest";
          ???}
          ???/**
          ??? * @param userName The userName to set.
          ??? */
          ???public void setUserName(String userName)
          ???{
          ????this.userName = userName;
          ???}
          ??}
          ?5: 這時就可以在html或jsp中調用此class文件了,調用方式如下
          ??一下為測試的 html文件
          ????
          ???<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          ???<html>
          ???<head>
          ???? <title>DWR - My First AJAX</title>
          ???? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          ???? <script type='text/javascript' src='dwr/interface/MyTest.js'></script>
          ???? <script type='text/javascript' src='dwr/interface/showData.js'></script>
          ???? <script type='text/javascript' src='dwr/engine.js'></script>
          ???? <script type='text/javascript' src='dwr/util.js'></script>
          ???? <script language="javascript">
          ????? var mycall=function callBack(data){
          ????? DWRUtil.setValue("demo1",data);
          ????? DWRUtil.setValue("demo2","leo_wang");
          ????? DWRUtil.setValue("userName",data);
          ????? }
          ????? function showMyName(){
          ?????? //MyTest.getMyName(mycall);
          ?????? showData.getUserName(mycall);
          ????? }
          ???
          ????? function clearName(){
          ?????? demo1.value="";
          ?????? demo2.value="";
          ????? }
          ???? </script>
          ???? </head>
          ???<body>
          ???<h1>Ajax Test Page</h1>
          ???<input type="button" value="setMyName" onclick="javascript:showMyName()">
          ???<input type="button" value="Clear" onclick="javascript:clearName()"><br>
          ???<input type="text" id="demo1">
          ???<input type="text" id="demo2">
          ???<input type="test" id="userName">userName
          ???</body></html>

          ??在調用javaScript前要先引入剛才在dwr.xml中定義的javaScript
          ??<script type='text/javascript' src='dwr/interface/MyTest.js'></script>
          ??<script type='text/javascript' src='dwr/interface/showData.js'></script>
          ??<script type='text/javascript' src='dwr/engine.js'></script>
          ??<script type='text/javascript' src='dwr/util.js'></script>
          ??前面兩行是我們剛才定義的javaScript的引入,后面兩行是dwr中的本身定義的javaScript
          ??
          ??ok(完)
          ??
          ????
          ??
          ??


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 芜湖县| 兴宁市| 南丰县| 博客| 承德市| 临夏市| 南靖县| 都昌县| 兴文县| 塔城市| 湘潭县| 宝鸡市| 望江县| 新田县| 镇康县| 大同县| 朝阳市| 漳浦县| 桓台县| 安阳市| 达州市| 广德县| 车险| 华池县| 开阳县| 吉安县| 南和县| 临沧市| 兖州市| 西峡县| 屏边| 资源县| 漾濞| 咸丰县| 巴彦淖尔市| 宁津县| 屏边| 霸州市| 德钦县| 灵丘县| 嵊泗县|