Я знаю, как вызвать дроплет ATG со страницы jsp. Фрагмент кода ниже вызывает метод 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. Существует класс DropletInvoker от ATG DUST. Ниже приведен пример кода для вызова компонента 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.
Я также хотел бы знать, можем ли мы в любом случае вызвать дроплет без использования компонента ATG DUST. Есть ли какой-либо общий способ вызова любого дроплета и передачи ему входных параметров?