Créer des messages
Si votre commande lance une ECApplicationException qui utilise un nouveau message, vous devez créer ce nouveau message. La création d'un nouveau message implique les étapes suivantes :
Procédure
-
Création d'une nouvelle classe contenant les clés de message.
La première étape dans la création de nouveaux messages utilisateur consiste à créer une classe qui contient les nouvelles clés de message. Une clé de message est un indicateur unique utilisé par le service de journalisation pour localiser le texte correspondant dans un paquet de ressources. Cette nouvelle classe doit être créée dans votre propre package et stockée dans le projet WebSphereCommerceServerExtensionsLogic.
Prenons un exemple, appelé
MyNewMessages, dans lequel vous créez une nouvelle classe, appeléeMyMessageKeysqui contient les clés de message_ERR_CUSTOMERet_ERR_CUSTOMER_INVALID_IDet mettez cette classe dans le packagecom.mycompany.messages. Dans ce cas, la définition de classe apparaît comme suit :public class MyMessageKeys { public static String _ERR_CUSTOMER="_ERR_CUSTOMER"; public static String _ERR_CUSTOMER_INVALID_ID="_ERR_CUSTOMER_INVALID_ID"; }Fournir des encapsuleurs de chaîne pour les clés de message permet au compilateur de vérifier leur validité.
-
Création d'une nouvelle classe contenant les objets ECMessage.
Dans le même package où vous avez créé la classe pour vos clés de message, créez une autre classe qui contient les objets ECMessage. La classe ECMessage définit la structure d'un objet de message. Il est utilisé pour récupérer et persister les messages texte sensibles aux sites.
L'objet de message contient les attributs suivants : gravité, type, clé, regroupement de ressources et regroupement de ressources associés. Il existe plusieurs méthodes de constructeur pour cette classe.
Suivant l'exemple MyNewMessages, créez une nouvelle classe appelée
MyMessagesdans le packagecom.mycompany.messages, comme suit :/** * An error message that an invalid customer id was specified. */ public static final ECMessage _ERR_CUSTOMER_INVALID_ID = new ECMessage(WcContentMessageKey._ERR_CUSTOMER_INVALID_ID_REASON_CODE, ECMessageType.USER, WcContentMessageKey._ERR_CUSTOMER_INVALID_ID, USER_RESOURCE_BUNDLE, ECMessageSeverity.ERR, null, null, null); -
Création d'un regroupement de ressources
Vous devez créer un nouveau regroupement de ressources, dans lequel les clés de message avec le texte correspondant sont stockées. Ce regroupement de ressources peut être implémenté soit en tant qu'objet Java, soit en tant que fichier de propriétés. Il est recommandé d'utiliser des fichiers de propriétés, car ils sont plus faciles à traduire et à entretenir. Les fichiers propriétés sont utilisés pour les messages HCL Commerce.
Pour poursuivre l'exemple MyNewMessages, créez un fichier texte du nom de
ecCustomerMessages.properties. Placez les messages dans le répertoire approprié :- servlet d'un magasin unique
workspace_dir\Stores\Web Content\WEB-INF\classes\storeDir où storeDir est le nom du magasin.- HCL Commerce Accelerator
workspace_dir\CommerceAccelerator\Web Content\WEB-INF\classes- console d'administration
workspace_dir\SiteAdministration\Web Content\WEB-INF\classes- console d'administration d'organisation
workspace_dir\OrganizationAdministration\Web Content\WEB-INF\classes- globalement par n'importe quel servlet dans l'application métier
workspace_dir\WebSphereCommerceServer\properties
Les répertoires précédents sont spécifiés dans le contexte de l'environnement de développement. Les messages peuvent également se faire dans le projet WebSphereCommerceExtensionLogic.
Étant donné que le fichier de propriétés contient des paires de clés de message et le texte du message correspondant, le fichier
ecCustomerMessages.propertiescontient les lignes suivantes :_ERR_CUSTOMER_MESSAGE = The customer message "{0}". _ERR_CUSTOMER_INVALID_ID = Invalid ID "{0}".