REST services in storefront JSP files for remote stores
Remote stores communicate with the Transaction server by using the REST
services. Therefore, some JSP in V8 local store will not work on V9 remote store. Hence Java
code and Data beans cannot be used. Instead you must use the wcf:rest
tag.
For more information, see REST services in storefront JSP files.
Example
The following example shows how the wcf:rest
tag can be used to
fetch information about a particular order.
The Store ID and Order ID are required to fetch information about a particular order.
<wcf:rest var="order" url="store/{storeId}/order/{orderId}" scope="request">
<wcf:var name="storeId" value="${storeId}" encode="true"/>
<wcf:var name="orderId" value="${WCParam.orderId}" encode="true"/>
<wcf:param name="sortOrderItemBy" value="orderItemID"/>
</wcf:rest>
An order might contain more than one item.
<c:forEach var="orderItem" items="${order.orderItem}" varStatus="status">
<c:set var="itemId" value="${orderItem.orderItemId}"/>
<c:set var="addressId" value="${orderItem.addressId}"/>
<c:set var="shipModeId" value="${orderItem.shipModeId}"/>
<c:set var="keyVar" value="${addressId}_${shipModeId}"/>
<c:set var="itemIds" value="${blockMap[keyVar]}"/>
<c:choose>
<c:when test="${empty itemIds}">
<c:set target="${blockMap}" property="${keyVar}" value="${itemId}"/>
</c:when>
<c:otherwise>
<c:set target="${blockMap}" property="${keyVar}" value="${itemIds},${itemId}"/>
</c:otherwise>
</c:choose>
</c:forEach>
Example of implementation in versions prior to 9.0
In previous versions, Java classes were included in the JSP files.
<%@ page import="javax.servlet.*,
java.util.*,
com.ibm.commerce.server.*,
com.ibm.commerce.beans.*,
com.ibm.commerce.messaging.util.*,
com.ibm.commerce.order.beans.*,
com.ibm.commerce.order.objects.*,
com.ibm.commerce.user.beans.*,
com.ibm.commerce.user.objects.*,
com.ibm.commerce.common.objects.*,
com.ibm.commerce.common.beans.*,
com.ibm.commerce.catalog.beans.*,
com.ibm.commerce.catalog.objects.*,
com.ibm.commerce.fulfillment.beans.*,
com.ibm.commerce.fulfillment.objects.*,
com.ibm.commerce.user.helpers.*,
com.ibm.commerce.edp.beans.EDPPaymentInstructionsDataBean,
com.ibm.commerce.edp.api.EDPPaymentInstruction,
com.ibm.commerce.edp.utils.Constants,
com.ibm.commerce.registry.BusinessPolicyRegistryEntry,
com.ibm.commerce.registry.BusinessPolicyRegistry,
com.ibm.commerce.payment.ppc.beans.PPCListPIsForOrderDataBean,
com.ibm.commerce.payments.plugincontroller.PaymentInstruction,
com.ibm.commerce.server.ECConstants,
com.ibm.commerce.payments.plugincontroller.beans.ObjectModuleFacadeFactory,
com.ibm.commerce.payments.plugincontroller.Payment,
com.ibm.commerce.payments.plugincontroller.beans.PPCPayTranData,
com.ibm.commerce.contract.objects.BusinessPolicyAccessBean,
com.ibm.commerce.payments.plugin.ExtendedData,
com.ibm.commerce.payment.ppc.beans.PPCPIExtendedDataDataBean,
com.ibm.commerce.payment.ppc.beans.PPCListPaymentsForPIDataBean,
java.text.DateFormat,
java.util.Calendar"%>