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"%>