2010年1月12日 星期二

Direct Web Remoting(DWR) - Reverse Ajax

1. 要使用DWR Reverse Ajax需先指定參數activeReverseAjaxEnabled為true。

<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>
   <init-param>
     <param-name>activeReverseAjaxEnabled</param-name>
     <param-value>true</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
 </servlet>

2. 在要使用DWR Reverse Ajax的頁面(reverseAjax.jsp)加入以下設定。

<!-- DWR相關的Javascript -->
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<!-- 頁面載入時,即建立ReverseAjax連線 -->
<body onload="dwr.engine.setActiveReverseAjax(true);">
<!-- 從Server push回來的內容 -->
<span id="show"></span>


3. 觸發要回傳資料給Client端的Servlet。

ServerContext wctx = ServerContextFactory.get(this.getServletContext());
//取得要觸發的頁面
Collection sessions = wctx.getScriptSessionsByPage("/reverseAjax.jsp");
Util utilAll = new Util(sessions);
//設定回傳的內容,並指定放到DOM的哪個id內
utilAll.setValue("show", "這是Server回傳的資料");

沒有留言:

張貼留言