(二) DWR DWRUtil以及useLoadingMessage說明

一:準備工作

建立Web工程,引入dwr jar包,web.xml文件中添加servlet寫法,見下;

WEB-INF目錄下建立dwr.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" 
    "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
	<allow>
		<create creator="new" javascript="loadingUtil">
			<param name="class" value="com.lvbinbin.pojo.DWRLoading"></param>
			<include method="loading"/>
		</create>
	</allow>
</dwr>

<include>標籤

include標籤和exclude標籤互相沖突,如果include以及exclude都不寫,即該bean中方法都會被引入,但是如果其父類爲Object類型,toString()  wait()這些方法是不會被引入的,如果需要使用就需要手動include標籤中添加。

至於哪些方法被引入了,哪些方法沒有引入,dwr也提供了查看頁面:

  servlet裏映射路徑比如是/dwr/*

<servlet>
		<servlet-name>dwr</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<!-- 添加調試模式,方便調試方法,正式發佈的時候可以改爲false 默認值爲fasle -->
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
		  	<!-- 這個crossDomainSessionSecurity必須配置,應該是跨區域提交設置,默認是ture, 如果不設置爲false就會報錯:Session Error -->
  		<init-param>
       	    <param-name>crossDomainSessionSecurity</param-name>   
     		<param-value>false</param-value>   
		</init-param>
		
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>

那  機器地址:端口//項目名/dwr  即可訪問到,點擊進入可以查看具體以及測試功能;需要提及的一點,比如我操作該對象設置了其中某個屬性,調用get方法,是無法得到剛纔設置上的屬性值;

頁面上寫法引入(其中DWRDemo爲我的項目名):

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!-- Dwr 引擎庫 -->
<script type='text/javascript' src='/DWRDemo/dwr/engine.js'></script>
<!-- Dwr 工具庫 -->
<script type='text/javascript' src='/DWRDemo/dwr/util.js'></script>
<script type='text/javascript' src='/DWRDemo/dwr/interface/loadingUtil.js'></script>
</head>
<body>
	<div id="curTime">當前時間:</div>
	<script type="text/javascript">
		window.onload = function() {
			DWRUtil.useLoadingMessage();
			loadingUtil.loading(function(data){
				alert(data);
			});
		}
	</script>
</body>
</html>

DWRLoading.java文件如下(查看useLoadingMessage特意設置了延遲):

package com.lvbinbin.pojo;

public class DWRLoading {
	
	public String loading() {
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		return "數據返回success!";
	}

}

useLoadingMessage方法即頁面等待時候的前置回調提示信息:默認爲Loading,會在最右上角顯示

當傳入參數時,顯示信息就會生效;

DWRUtil.useLoadingMessage("等待中");

DWRUtil與dwr.util爲同一個對象,使用起來沒有差異,使用useLoadingMessage方法需要引入dwr/util.js,因爲實在util.js中定義的

此外DWRUtil還有很多實用的方法,下次一一補充,待續。。。。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章