Websphere Commerce Aurora Store-如何查找数据结构?

Websphere Commerce Aurora Store-如何查找数据结构?,websphere,websphere-commerce,Websphere,Websphere Commerce,我试图掌握较新的编程模型(非访问Bean) 在WebSphereCommerce7FEP5中,如何计算从GetData标记检索到的对象的结构 例如,在下面的代码片段中,我如何知道catalogEntryDetails的数据结构是什么?类名、方法等 还有人能解释一下“元数据”字段的来源吗?这应该在名词定义中,还是在中介层的代码中设置的?在名词定义中,我看不到对它作为直接字段的引用 <c:forEach var="metadata" items="${catalogEntryDetails.m

我试图掌握较新的编程模型(非访问Bean)

在WebSphereCommerce7FEP5中,如何计算从GetData标记检索到的对象的结构

例如,在下面的代码片段中,我如何知道catalogEntryDetails的数据结构是什么?类名、方法等

还有人能解释一下“元数据”字段的来源吗?这应该在名词定义中,还是在中介层的代码中设置的?在名词定义中,我看不到对它作为直接字段的引用

<c:forEach var="metadata" items="${catalogEntryDetails.metaData}" varStatus="status2">
    <c:if test="${metadata.key == 'ThumbnailPath'}">
        <c:set var="thumbNail" value="${env_imageContextPath}/${metadata.value}" />
    </c:if>         
    <c:if test="${metadata.key == 'FullImagePath'}">
        <c:set var="fullImage" value="${metadata.value}" />
    </c:if>
</c:forEach>

catalogEntryDetails对象是从此代码段设置的:

<c:if test="${!empty productId}">
    <%-- Try to get it from our internal hashMap --%>
    <c:set var="key1" value="${productId}+getCatalogEntryViewAllByID"/>
    <c:set var="catalogEntryDetails" value="${cachedCatalogEntryDetailsMap[key1]}"/>
    <c:if test="${empty catalogEntryDetails}">
        <wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catalogNavigationView" 
            expressionBuilder="getCatalogEntryViewAllByID" varShowVerb="showCatalogNavigationView" maxItems="1" recordSetStartNumber="0">
            <wcf:param name="UniqueID" value="${productId}"/>
            <wcf:contextData name="storeId" data="${storeId}" />
            <wcf:contextData name="catalogId" data="${catalogId}" />
        </wcf:getData>
        <wcf:set target = "${cachedCatalogEntryDetailsMap}" key="${key1}" value="${catalogNavigationView.catalogEntryView[0]}"/>
    </c:if>
</c:if>

<c:if test="${empty productId && !empty WCParam.partNumber}">
        <c:set var="key1" value="${WCParam.partNumber}+getCatalogEntryViewAllByPartnumber"/>
        <c:set var="catalogEntryDetails" value="${cachedCatalogEntryDetailsMap[key1]}"/>
        <c:if test="${empty catalogEntryDetails}">
            <wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType" var="catalogNavigationView" 
                expressionBuilder="getCatalogEntryViewAllByPartnumber" varShowVerb="showCatalogNavigationView" maxItems="1" recordSetStartNumber="0">
                <wcf:param name="PartNumber" value="${WCParam.partNumber}" />
                <wcf:contextData name="storeId" data="${storeId}" />
                <wcf:contextData name="catalogId" data="${catalogId}" />
            </wcf:getData>
            <c:set var="catalogEntryDetails" value="${catalogNavigationView.catalogEntryView[0]}"/>
            <wcf:set target = "${cachedCatalogEntryDetailsMap}" key="${key1}" value="${catalogNavigationView.catalogEntryView[0]}"/>
        </c:if>
</c:if>

您能做的最好的事情-检查IBM信息中心。文档告诉我们检索的结果由“type”参数指定。在您的例子中,它是“com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType”。再次打开文档以供查看。文档告诉我们它是getCatalogEntryView()方法:

返回“目录条目视图”包含引用列表的值。列表内容的类型为CatalogEntryViewType。给定目录导航视图范围内的目录项列表

这就是你问题的答案: catalogEntryDetails是CatalogEntryViewType的一个实例。由于某些原因,我在IBM文档中找不到这个接口。但是您仍然可以在com.ibm.commerce.catalog.facade.datatypes包中找到它(位于\WCDE\u ENT70\workspace\WC\catalog DataObjects.jar中)

这是:

public interface CatalogEntryViewType
{

}

“元数据”字段来自以下字符串:

public abstract Map getMetaData();

您所能做的最好的事情是检查IBM信息中心。文档告诉我们检索的结果由“type”参数指定。在您的例子中,它是“com.ibm.commerce.catalog.facade.datatypes.CatalogNavigationViewType”。再次打开文档以供查看。文档告诉我们它是getCatalogEntryView()方法:

返回“目录条目视图”包含引用列表的值。列表内容的类型为CatalogEntryViewType。给定目录导航视图范围内的目录项列表

这就是你问题的答案: catalogEntryDetails是CatalogEntryViewType的一个实例。由于某些原因,我在IBM文档中找不到这个接口。但是您仍然可以在com.ibm.commerce.catalog.facade.datatypes包中找到它(位于\WCDE\u ENT70\workspace\WC\catalog DataObjects.jar中)

这是:

public interface CatalogEntryViewType
{

}

“元数据”字段来自以下字符串:

public abstract Map getMetaData();

是的,你是对的,它来自于business object mediator config中配置的名词定义:WC\xml\config\com.ibm.commerce.catalog fep\WC-business-object-mediator.xml。默认情况下,它是由SolrReadCatalogEntryViewPartMediator构建的。从我能找到的任何文档中都不清楚,我必须反编译才能找到答案。乐趣:-(


是的,您是对的,它来自业务对象中介器配置中配置的名词定义:WC\xml\config\com.ibm.commerce.catalog fep\WC-business-object-mediator.xml。默认情况下,它是由SolrReadCatalogEntryViewPartMediator构建的。从我所能找到的任何文档中都不清楚,我必须反编译才能将其理解为ut.乐趣:-(