Representación de implementaciones de vista: action-mappings y global-forwards

La descripción de implementaciones de vistas específicas del dispositivo y específicas de la tienda, realizada en versiones anteriores de utilizando la tabla de base de datos VIEWREG, se lleva a cabo en la aplicación web de con una combinación de los elementos de action-mappings y global-forwards.

Por qué y cuándo se efectúa esta tarea

Considere las cuatro asociaciones representadas en la siguiente tabla:

Nombre de vista ID de formato de dispositivo ID de tienda Interfaz de mandatos de vista Clase de implementación de mandato de vista Propiedades HTTPS Credenciales aceptadas
AddressBookForm -1 0 com.ibm.commerce.command.ForwardViewCommand com.ibm.commerce.command.HttpForwardViewCommandImpl docname= Address-BookForm.jsp 0 NULL
AddressBookForm -1 201 com.ibm.commerce. command.ForwardViewCommand com.ibm.commerce.command.HttpForwardViewCommandImpl docname=UserArea/AccountSection/AddressbookSubsection/AddressBookForm.jsp 1 P
GenericPassword-ErrorView -1 0 com.ibm.commerce.command.ForwardViewCommand com.ibm.commerce.command.HttpForwardViewCommandImpl docname=Generic-Application-Error.jsp&storedir=no 0 NULL
CompleteOrderView -3 201 com.ibm.commerce.messaging.viewcommands. MessagingViewCommand com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl docname=CompleteOrder.jsp 0 NULL
Donde:
ID de formato de dispositivo
Identificador del dispositivo al que se enviará la vista. El formato de dispositivo predeterminado es -1, que representa un navegador web HTTP.
ID de tienda
Número de referencia de tienda para este URI o 0 para indicar cualquier tienda.
Propiedades
Pares nombre-valor utilizados para esta vista, en forma de una serie de consulta de peticiones HTTP.
HTTPS
El valor de 1 indica que se esperaba recibir la petición en un canal seguro(HTTPS) y que se emitirá una redirección al puerto SSL si se ha recibido en un canal no seguro (HTTP).
Credenciales aceptadas
El valor P indica que los usuarios autenticados parcialmente están autorizados a acceder a este recurso.
El siguiente fragmento de configuración describe las tres primeras asociaciones:

<global-forwards>
  <forward name="AddressBookForm" path="/AddressBookForm.jsp"/>
  <forward className="com.ibm.commerce.struts.ECActionForward" name="AddressBookForm/201" 
    path="/UserArea/AccountSection/AddressbookSubsection/AddressBookForm.jsp">
    <set-property property="resourceClassName" value="com.ibm.commerce.command.HttpForwardViewCommandImpl" />
  </forward>
  <forward className="com.ibm.commerce.struts.ECActionForward" name="GenericPasswordErrorView" 
    path="/GenericApplicationError.jsp">
    <set-property property="properties" value="storeDir=no" />
    <set-property property="resourceClassName" value="com.ibm.commerce.command.HttpForwardViewCommandImpl" />
  </forward>
</global-forwards>
<action-mappings type="com.ibm.commerce.struts.ECActionMapping">         
  <action path="/AddressBookForm" type="com.ibm.commerce.struts.BaseAction">
    <set-property property="https" value="0:0,201:1" />
    <set-property property="credentialsAccepted" value="201:P" />
  </action>
  <action path="/GenericPasswordErrorView" type="com.ibm.commerce.struts.BaseAction" />
</action-mappings>
Notes:
  • El valor del atributo className de los elementos forward.
  • La sintaxis del atributo Name de los elementos forward. un par docname/ storeID, cuyo segundo componente toma de forma predeterminada el valor 0.
  • El uso de la propiedad resourceClassName para especificar la clase de implementación de mandatos de vista, cuyo valor predeterminado es com.ibm.commerce.command.HttpForwardViewCommandImpl.
  • También puede establecer la propiedad authenticate para vistas, con la misma sintaxis y semántica que para los URL (que se describen en el apartado anterior).
  • La última fila de la tabla anterior representa un messaging view, que es un ejemplo de una vista que no está pensada para mostrarse en un navegador y que requiere distinta sintaxis para especificar el tipo de dispositivo así como propiedades especiales para especificar la implementación para generar la respuesta:
    
    <global-forwards>
      <forward className="com.ibm.commerce.struts.ECActionForward" name="CompleteOrderView/201/-3" path="/AuctionArea/Messages/CompleteOrder.jsp">
        <set-property property="implClassName" value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl"/>
        <set-property property="interfaceName" value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommand"/>
      </forward>
    </global-forward>
    <action-mappings type="com.ibm.commerce.struts.ECActionMapping">         
      <action path="/CompleteOrderView" type="com.ibm.commerce.struts.BaseAction" />
    </action-mapping>
    
  • La extensión de la sintaxis del atributo name del elemento forward: un tríptico docname/ storeID / deviceFormatID , cuyo tercer componente tiene como valor predeterminado -1.
  • Para identificar los valores correctos para el servicio de composición de mensajes, consulte Creación de un mensaje de salida.
  • El uso de la propiedad implClassName para especificar la clase de implementación de mandatos de vista y la propiedad interfaceName para especificar la interfaz de mandatos de vista. Utilice únicamente esta propiedad para definir las políticas de control de acceso basadas en implementaciones de vista ya que se proporciona por motivos de compatibilidad con las versiones anteriores de .