Contexte de la demande
Il s'agit de l'interface permettant d'accéder à divers attributs des règles. Pour les contextes HTTP, elle permet d'accéder aux attributs HttpRequest et HttpSession. Pour les contextes non HTTP, elle fournit la même interface à un substitut de la demande et de la session.
Le contexte de demandes et toutes les valeurs de demande accessibles via le contexte de demande ne sont valides que pendant la durée de la demande.
La chaîne Contexte de demandes est utilisée dans la mise en cache de recherches. La recherche est créée en utilisant une chaîne spécifique à l'utilisateur combinée à des valeurs de demandes en tant que clé de recherche. La chaîne spécifique à l'utilisateur doit uniquement représenter le contexte de demande actuel. La clé est enregistrée sous ibm.wcp.cache.user.key en tant qu'attribut de demande ou attribut de session avec l'attribut de demande en priorité.
Accès au contexte de la demande
Le contexte de demande fournit au moteur de règles Personalization les données et les informations d'environnement nécessaires au traitement des règles. En d'autres termes, le contexte de la demande contient toutes les entrées permettant d'exécuter les règles et les zones de contenu de personnalisation. Cela comprend les entrées simples telles que des données de session et de demande ainsi que des entrées plus complexes comme l'objet utilisateur.
Vous pouvez accéder au contexte de demandes à partir d'une zone de contenu. Pour ce faire, vous utilisez tout d'abord la méthode setRequest de la zone de contenu pour affecter une demande à la zone. Vous appelez ensuite getContext pour extraire le contexte. Vous pouvez également utiliser le contexte de la demande pour effectuer des appels directement dans les API de ResourceDomain3 et de ResourceManager3.
Il vous permet d'extraire la session, la demande, l'attribut du portlet, la date et le cookie ainsi que d'autres données et informations liées à l'environnement à partir de la couche des ressources.
Le contexte de demande inclut les données suivantes :
- Session
Les informations de session identifient l'objet HttpSession associé à l'utilisateur en cours.
- Date de la demande
Cette date de la demande est la date de réception de la demande HTTP. Ces informations prennent en charge des règles dont les actions dépendent de la date.
Dans la mesure où Personalization utilise le contexte de la demande pour contenir toutes les entrées de règles, celui-ci doit être configuré dans la zone de contenu avant l'exécution de la règle. Le code doté de la balise useBean de la zone de contenu doit être semblable à :
<jsp:useBean id="gold_promo_bean"
class="yourco.goldpromo.BannerSpot" />
<% gold_promo_bean.setRequest (request); %> Dans la section ci-dessus, la balise jsp:useBean construit la classe yourco.goldpromo.BannerSpot et stocke une instance de cette classe dans la variable locale gold_promo_bean. La ligne suivante appelle setRequest pour placer HttpServletRequest ou PortletRequest dans le bean de la zone de contenu nouvellement construit. La zone de contenu construit implicitement un contexte de demande conforté par l'objet HttpServletRequest ou PortletRequest donné. Celui-ci donne accès aux attributs et aux paramètres de cette demande ainsi qu'aux attributs de la session via l'interface com.ibm.websphere.personalization.RequestContext.
Dans certains cas, il peut être utile d'effectuer un appel dans une zone de contenu sans avoir accès à un objet HttpServletRequest ou PortletRequest. L'interface com.ibm.websphere.personalization.PznRequestObjectInterface peut être utilisée dans ce type de situation. Une mise en oeuvre de cette classe appelée com.ibm.websphere.personalization.PznRequestObjectImplementor est fournie pour vous faciliter la tâche.