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

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