2014-01-14 16 views
0

我知道如何從jsp頁面調用ATG液滴。下面的代碼片段調用GiftListSiteFilterDroplet。如何在Oracle ATG商業中調用GiftlistSiteFilterDroplet?

<dsp:droplet name="GiftlistSiteFilterDroplet"> 
    <dsp:param name="collection" bean="/atg/userprofiling/Profile.giftlists"/> 
    <dsp:oparam name="output"> 
     <dsp:getvalueof var="giftlists" param="filteredCollection" /> 

上面的代碼將調用GiftlistSiteFilterDroplet。但是,我試圖找出如何從java類調用相同的液滴。 ATG DUST有一個DropletInvoker課程。示例代碼如下所示,用於調用Switch組件。

Nucleus mNucleus = NucleusTestUtils.startNucleusWithModules(
new String[] {"DAS","DafEar"}, this.getClass(),"/atg/dynamo/droplet/Switch"); 
DropletInvoker invoker = new DropletInvoker(mNucleus); 
DynamoHttpServletRequest request = invoker.getRequest(); 
DropletResult result = null; 
request.setParameter("value", "foo"); 
result = invoker.invokeDroplet("/atg/dynamo/droplet/Switch"); 

但是,GiftListSiteFilterDroplet有一個bean參數。我想知道我們是否可以使用這個DropletInvoker傳遞這個bean參數。

我也想知道,如果有反正我們可以不使用ATG DUST組件調用液滴。是否有任何調用任何液滴的通用方法並將輸入參數傳遞給它?

+0

瓦你試圖達到什麼目的? [ATG Dust](http://atgdust.sourceforge.net/)是構建JUnit測試的框架。你是爲了測試的目的而調用這個函數,還是你想從另一個代碼中調用Droplet出於不同的原因? – radimpe

+0

這是爲了測試的目的。我們正在構建一個類似功能的小滴,我試圖找出在不創建jsp頁面的情況下測試這個新組件的各種方法。 – Buddha

+1

您可以嘗試使用[Mockito](https://code.google.com/p/mockito/)而不是ATG Dust。有一個使用這個Droplet的例子[這裏](http://stackoverflow.com/questions/17523741/using-mockito-for-writing-atg-test-case) – radimpe

回答