Я знаю, как вызвать капсюль ATG со страницы jsp. Ниже фрагмента кода вызывает параметр GiftListSiteFilterDroplet.Как вызвать GiftlistSiteFilterDroplet в Oracle ATG commerce?
<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. Я хотел бы знать, можем ли мы передать этот параметр bean, используя этот DropletInvoker.
Я также хотел бы знать, есть ли в любом случае мы можем назвать каплю без использования компонента ATG DUST. Есть ли общий способ вызова любой капли и передачи входных параметров?
Wh вы пытаетесь достичь? [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