繁体   English   中英

如何在Oracle ATG商务中调用GiftlistSiteFilterDroplet?

[英]How to invoke GiftlistSiteFilterDroplet in Oracle ATG commerce?

我知道如何从jsp页面调用ATG droplet。 下面的代码片段调用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课程。 调用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组件的情况下调用Droplet。 是否有任何通用的方法来调用任何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

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM