我知道如何從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組件調用液滴。是否有任何調用任何液滴的通用方法並將輸入參數傳遞給它?
瓦你試圖達到什麼目的? [ATG Dust](http://atgdust.sourceforge.net/)是構建JUnit測試的框架。你是爲了測試的目的而調用這個函數,還是你想從另一個代碼中調用Droplet出於不同的原因? – radimpe
這是爲了測試的目的。我們正在構建一個類似功能的小滴,我試圖找出在不創建jsp頁面的情況下測試這個新組件的各種方法。 – Buddha
您可以嘗試使用[Mockito](https://code.google.com/p/mockito/)而不是ATG Dust。有一個使用這個Droplet的例子[這裏](http://stackoverflow.com/questions/17523741/using-mockito-for-writing-atg-test-case) – radimpe