新しいプログラミング モデル (Access Bean 以外) を把握しようとしています。
WebSphere Commerce 7 FEP 5 では、GetData タグから取得されたオブジェクトの構造をどのように解決できますか?
たとえば、以下のスニペットでは、catalogEntryDetails のデータ構造をどのように知ることができますか? クラス名、メソッドなど?
また、誰かが「metaData」フィールドの由来を説明できますか? それは名詞の定義にあるはずですか、それともメディエーター層のコードで設定されているものですか? 名詞定義の直接フィールドとしての参照が見当たりませんでした....
<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>