Représentation des implémentations de vues : mappages d'action et réacheminements globaux

La description d'implémentation de vue spécifiques à un terminal ou à un magasin, effectuée dans les versions précédentes de à l'aide de la table de base de données VIEWREG, se fait dans l'application Web avec une combinaison des éléments action-mappings et global-forwards.

Pourquoi et quand exécuter cette tâche

Considérez les quatre associations représentées dans le tableau ci-dessous :

Nom de la vue ID de format du terminal ID d'entrepôt Interface de la commande View Classe d'implémentation de la commande View Propriétés HTTPS Données d'identification acceptées
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
Où :
ID de format du terminal
Identificateur du terminal auquel la vue est envoyée. Le format par défaut du terminal est -1, ce qui représente un navigateur Web HTTP.
ID d'entrepôt
Numéro de référence de magasin pour cet URI, ou 0 pour tous les magasins.
Propriétés
Paires nom-valeur utilisées par cette vue, sous la forme d'une chaîne de requête HTTP.
HTTPS
La valeur 1 indique que la requête devrait être reçue sur un canal sécurisé (HTTPS), et qu'en cas de réception sur un canal non sécurisé (HTTP), une redirection est émise vers le port SSL.
Données d'identification acceptées
La valeur P indique que des utilisateurs partiellement authentifiés sont autorisés à accéder à cette ressource.
Le fragment de configuration qui suit décrit les trois premières associations :

<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 :
  • La valeur de l'attribut className des éléments forward.
  • La syntaxe de l'attribut name des éléments forward : une paire docname/ storeID dont la valeur du deuxième composant est 0 par défaut.
  • L'utilisation de la propriété resourceClassName pour définir la classe d'implémentation de la commande view, qui prend par défaut la valeur com.ibm.commerce.command.HttpForwardViewCommandImpl.
  • Vous pouvez également définir la propriété authenticate pour les vues, avec la même syntaxe et la même sémantique que pour les URL (décrites à la section précédente).
  • La dernière ligne du tableau précédent représente une messaging view qui est un exemple de vue non destinée à être affichée par un navigateur et nécessite des variantes pour définir le type de terminal et des propriétés spéciales pour l'implémentation de la génération de la réponse :
    
    <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>
    
  • Extension à la syntaxe de l'attribut de name de l'élément forward : un triplet docname/ storeID / deviceFormatID , dont la valeur du troisième composant par défaut est -1.
  • Pour identifier les valeurs correctes pour le service de composition de messagerie, reportez-vous à la rubrique Création d'un message sortant.
  • L'utilisation de la propriété implClassName pour définir la classe d'implémentation de la commande view, et de la propriété interfaceName pour définir l'interface de cette commande. N'utilisez cette propriété que pour définir des stratégies de contrôle d'accès basées sur des implémentations de vue. Elle est fournie pour des raisons de compatibilité avec les anciennes versions de .