我知道如何从jsp页面调用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 类调用相同的 droplet。有一个来自ATG DUST的DropletInvoker类。调用开关组件的示例代码如下。
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组件的情况下调用液滴。是否有任何通用方法可以调用任何 droplet 并将输入参数传递给它?
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
谢谢