Как вызвать GiftlistSiteFilterDroplet в коммерции Oracle ATG?

Я знаю, как вызвать каплю 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 имеет параметр компонента. Я хотел бы знать, можем ли мы передать этот параметр компонента, используя этот DropletInvoker.

Я также хотел бы знать, есть ли в любом случае мы можем вызвать дроплет без использования компонента ATG DUST. Есть ли какой-либо общий способ вызова любой капли и передачи ей входных параметров?

1 ответ

atg.service.collections.filter.droplet.CollectionFilterэто класс для компонента /atg/commerce/collections/filter/droplet/GiftlistSiteFilterDroplet

Просто вызвать getFilter() метод в классе

См. - https://docs.oracle.com/cd/E23095_01/Platform.93/apidoc/atg/service/collections/filter/droplet/CollectionFilter.html

https://docs.oracle.com/cd/E26180_01/Platform.94/ATGCommStoreGuide/html/s1712collectionfilter01.html

Спасибо

Другие вопросы по тегам