?WebWork/Struts 2
DWR也提供與OpenSymphony( www.opensymphony.com/webwork )所開發的WebWork框架的集成。借助于這種支持,可以遠程訪問自己的WebWork Actions,就像任何其他類一樣。
請注意,WebWork現在已經成為Struts 2,并且從根本上看,這種集成應該是相同的(盡管現在xwork.xml指向struts.xml,但還是存在其他一些細微的差別)。
使用DWR的這種特性需要兩步,但是沒有一個步驟與以前看到的方法差別很大。首先,需要在web.xml文件中創建一些新的條目,類似于:
![]() |
這使得DWR可以處理所涉及的多種對象類型。同樣,如果自己的Action調用返回Action實例,而不是更典型的純文本,則還需要在dwr.xml文件中添加一條配置信息:
![]() |
match屬性的值是會被返回的Action實例。
一旦完成上述配置,就需要把常見的DWR JavaScript代碼導入到執行Actions的JSP文件中。除此之外,還需要導入DWRActionUtil.js文件,它是需要與WebWork Actions一起工作的幫助代碼。
調用Action非常類似于調用其他任何遠程類,差別是它通過DWRActionUtil對象實現,如下所示:
![]() |
這個調用的參數說明如下。
id。這個參數可能是Action URL,通常使用.action擴展名。也可能是一個action- DefinitionObject JavaScript對象。在這種情況下,這個對象必須指定如下域:namespace(xwork.xml文件中Action的命名空間)、action(xwork.xml文件中Action的名字)、executeResult(可能是true或者false,說明如果方法調用返回一個Action實例,是直接返回這個實例,還是執行這個實例)。
params。如果不需要傳遞參數,這是一個空對象{}。這個參數也可能是一個域的ID(其值會被傳遞給Action調用);也可能是一個表單的ID,這時候這個表單的所有值都會被傳遞。請注意,如果xwork.xml文件中的配置使用ParameterInterceptor,那么Action會完全使用傳入值進行初始化,好像通過WebWork被調用一樣。
callback。這是DWR中到處可見的回調函數。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
