dwr與其他框架的整合

1.DWR與Servlet整合

在DWR與Servlet整合中需要用到兩個Java類,分別是WebContext和WebContextFactory。其中WebContext是接口。

這兩個類給與了訪問標準HttpServlet對象的入口,這些對象包括HttpServletRequest、HttpServletResponse、HttpSession、ServletContext、ServletConfig。

使用WebContext的方法爲:

 

2.DWR與Spring整合

DWR與Spring整合需要用spring Creator,這個創造器會在spring beans.xml裏查詢beans,並且會使用Spring去穿件他們,要讓DWR使用spring創造器去創建和遠程調用beans,配置方法如下:

<allow>
<create creator="spring" javascript="service">
   <param name="beanName" value="AjaxService"/>
</create>
</allow>

在上面value="AjaxService"用到的配置內容如下:
<bean id="AjaxService" class="com.ajax.dwr.AjaxService" scop="prototype">
</bean>

 

3.DWR與Struts2整合

DWR也提供與Struts2框架的集成。藉助於這種支持,可以遠程訪問自己的Struts2 Actions,就像任何其他類一樣。使用DWR的這種特性需要兩步。首先需要在dwr.xml文件中創建一些新的條目,配置方法如下:
<create creator="none" javascript="DWRAction">
<param name="class" value="org.directwebremoting.webwork.DWRAction"/>
<include method="execute"/>
</create>
<convert converter="bean" match="org.directwebremoting.webwork.ActionDefinition">
<param name="include" value="namespace,action,method,executeResult"/>
</convert>
<convert converter="bean" match="org.directwebremoting.webwork.AjaxResult"/>

如果自己的Action調用返回Action實例,而不是更典型的純文本,則還需要在dwr.xml文件中添加一條配置信息:
<convert converter="bean" match="<your_action_package>.*"/>
Match屬性的值會被返回的Action實例。一旦完成上述配置,就需要把常見的DWR JavaScript代碼導入到執行Actions的JSP文件中。除此之外,還需要導入DWRActionUtil.js文件,它是需要與WebWork Actions一起工作的幫助代買。調用Action非常類似於調用其他任何遠程類,差別是它通過DWRActionUtil對象實現,調用方法如下:
DWRActionUtil.execute(id,params,callback[,displayMessage]);
其中:
id,這個參數是Action URL,通常使用.action擴展名。也可能是一個action-DefinitionObject JavaScript對象。在這種情況下,這個對象必須指定如下域:
namespace(struts.xml文件中Action的命名空間)、action(struts.xml文件中Action的名字)、exectuteResult(可能是true或者false,說明如果方法調用返回一個Action實例,是直接返回這個實例,還是執行這個實例)。
params,如果不需要傳遞參數,這是一個空對象{}。這個參數可能是一個域的ID(某值會被傳遞給Action調用);也可能是一個表單的ID,這個時候這兒表單的所有值都會被傳遞。
callback,這個份DWR中的回調函數。

發佈了44 篇原創文章 · 獲贊 6 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章