Etiquettes de <portal-logic/>
Les balises <portal-logic/> permettent d'utiliser une logique conditionnelle.
- <portal-logic:find>
- Sert à accéder à l'URL de recherche à l'échelle du portail spécifiée dans les paramètres du portail. Cette balise est conditionnelle. Si aucune URL n'est définie, le corps de la balise n'est pas évalué. Une variable de script appelée <% wpsPortalFindURL %> disponible dans le corps de la balise permet d'accéder à l'URL. Cette balise peut être utilisée dans les fichiers JSP des thèmes et des habillages.
- <portal-logic:if attribute="value">
- Les attributs de cette balise permettent de vérifier plusieurs conditions. Si la condition est reconnue (true), le corps de la balise s'inscrit dans la page. Sinon, il est ignoré. Plusieurs conditions peuvent être évaluées. Par exemple, l'utilisateur doit être connecté et l'écran d'accueil doit être actif pour que le contenu de la balise suivante soit rendu :Remarque : Tous les attributs précédents commençant par "not" sont obsolètes. Utilisez la balise <portal-logic:unless/> à la place de ces attributs.
<portal-logic:if loggedIn="yes" screen="Home"> <!-- content area --> </portal-logic:if>Attributs de la balise <portal-logic:if/> :- capableOf="capability"
- Indique si le client prend en charge la fonction spécifiée. capability Peut être l'une des valeurs suivantes :
- HTML_2_0
- HTML_3_0
- HTML_3_2
- HTML_4_0
- HTML_CSS
- HTML_FRAME
- HTML_JAVA
- HTML_JAVASCRIPT
- HTML_NESTED_TABLE
- HTML_TABLE
- WML_1_0
- WML_1_2
- WML_TABLE
- deviceClass="deviceClass"
- Compare si les classes d'appareil indiquées correspondent à la classe d'appareil en cours. La valeur est une chaîne qui représente la classe d'appareil attendue, et peut être un nom de classe d'appareil ou une équation de plusieurs noms de classe d'appareil qui utilisent
+pour AND,/pour OR,!pour NOT, et des parenthèses.Valeurs exemple :smartphonesmartphone/tabletsmartphone+!android(smartphone+ios)/(tablet+ios)
Si vous rencontrez une erreur de syntaxe dans votre équation, telle que des parenthèses discordantes, une exception avec les détails de l'erreur de syntaxe est consignée dans le fichier SystemOut.log, et la condition de l'attribut est false. Donc, si le contenu du corps de la balise est ignoré, consultez le journal.
- locale="locale"
- Indique si l'environnement local du client est celui du paramètre locale spécifié (ou un sous-type de l'environnement local spécifié). Vous pouvez spécifier une liste séparée par des virgules, telle que en, en_US.
- loggedIn="yes|no"
- Indique si l'utilisateur est connecté. Par exemple, le code suivant affiche un lien de connexion si l'utilisateur n'est pas connecté :
<%-- login button --%> <portal-logic:if loggedIn="no" notScreen="Login"> <td class="wpsToolBar" valign="middle" nowrap> <a class="wpsToolBarLink" href='<portal-navigation:url home="public" screen="Login" ssl="false"/>'> <portal-fmt:text key="link.login" bundle="nls.engine"/> </a> </td> </portal-logic:if> - Indique si une navigation est disponible.
- newWindow="yes|no"
- Indique si le portlet est affiché dans une fenêtre de navigateur distincte ou iFrame à partir du portail (HTML uniquement).
- nodeInSelectionPath="yes|no"
- Vérifie si une page est sélectionnée. Cela signifie que la page se trouve dans le chemin sélectionné par l'utilisateur dont le contenu est affiché.
- pageAvailableNext="yes|no"
- Vérifie si un ensemble de pages suivant est disponible et accessible à partir de la navigation.
- pageAvailablePrevious="yes|no"
- Vérifie si un ensemble de pages précédent est disponible et accessible à partir de la navigation. Par exemple, cette balise peut être utilisée en combinaison avec une balise <portal-navigation:navigationShift> pour afficher une icône de défilement. L'icône de défilement s'affiche lorsque le nombre de pages défini par l'utilisateur dépasse le nombre d'onglets de pages affichés. Cette condition se comporte à l'opposé de l'attribut pageAvailableNext.
- pageCompletelyActive="yes|no"
- Indique si une page et ses parents sont actifs. L'exemple suivant affiche un message si la page n'est pas active.
<portal-logic:if pageCompletelyActive="no"> <p align="center" class="wpsFieldErrorText"><b><br> >>> <portal-fmt:text key="info.pagenotcompletelyactive" bundle="nls.engine"/> <<< <br></b></p> </portal-logic:if> - pageBookmarkable="true|false"
- Rend son contenu si la page peut être marquée par un signet. Une page peut être définie comme signet à l'aide du portlet Gestion des pages. L'exemple suivant fournit une option "Ajouter aux favoris" dans une liste de sélection. Les utilisateurs peuvent définir la page en cours comme signet si elle peut l'être.
<portal-logic:if pageBookmarkable="true"> <option value='<portal:url command="AddBookmark" alias="Favorites"/>' > <portal-fmt:text key='link.favorites.add' bundle='nls.engine'/> </portal-logic:if> - portletMaximized="yes|no"
- Rend son contenu si le portlet est agrandi. Utilisez cet appel dans un habillage JSP.
- portletMode="edit|view|configure|help"
- Vérifie si le portlet se trouve dans l'un des modes indiqués. Cette balise est particulièrement utile dans un habillage personnalisé. Finding theme resources : Voir le lien Emplacement des ressources de thème dans la section consacrée.
- portletState="portlet_state"
- Vérifie si le portlet est à l'état indiqué. Les états de portlet sont
normal,maximizedetminimized. Par exemple, dansControl.jsp, le code suivant définit la variabletableHeightsur 100 %.<portal-logic:if portletState="Normal,Maximized"> <% tableHeight = "height=\"100%\""; %> </portal-logic:if> - portletSolo="yes|no"
- Vérifie si le portail affiche un portlet à l'état basique. Dans l'exemple suivant provenant du fichier
Default.jsp, les zones de navigation sont masquées alors que le portlet en cours est affiché à l'état solo.<portal-logic:if portletSolo="no"> <%@ include file="./topNav.jspf" %> <%@ include file="./sideNav.jspf" %> </portal-logic:if> - problem="problem"
- Affiche son contenu si l'un des problèmes suivants apparaît.
- content.not.available
- login.invalid
- password.invalid
- portlet.not.active
- portlet.not.authorized
- portlet.not.available
- portlet.title.not.available
- userID.invalid
- resumeLevel="0|1|2"
- Utilisée dans l'écran
Login.jsppour écrire le contenu de la balise si la valeur de cet attribut est égale au paramètre de la clé persistent.session.level dansConfigService. - resumeOption="0|1"
- Utilisée dans l'écran
Login.jsppour écrire le contenu de la balise si la valeur de cet attribut est égale au paramètre de la clé persistent.session.option dansConfigService. - screen="screen_name"
- Vérifie la valeur du nom de l'écran actuel. Utilisez une virgule pour séparer les noms d'écrans. Dans l'exemple suivant, le contenu de la balise est uniquement affiché lorsque l'écran sélectionné est Home (Accueil), LoggedIn (Connecté) ou LoggedOut (Déconnecté).
<portal-logic:if navigationAvailable="yes" screen="Home,LoggedIn,LoggedOut"> .... </portal-logic:if> - sélection
- Spécifie le nom unique ou l'ID objet de la page sélectionnée. Par exemple:
<portal-logic:if selection="ibm.portal.Home"> You are on Home </portal-logic:if> - showTools="yes|no"
- Indique si des commandes supplémentaires devraient être affichées pour la barre de titre du portlet et les onglets de page. Dans l'exemple suivant, l'icône
show_tools_off.gifest affichée pour cette situation lorsque showTools="no".<portal-logic:if showTools="no"> <% if (firstButton) { firstButton = false; } else { %> | <% } %> <a href='<portal-navigation:url command="ShowTools"/>'> <img border="0" align="absmiddle" width="16" height="19" src='<portal-logic:urlFindInTheme file="show_tools_off.gif"/>' alt='<portal-fmt:text key="link.show.tools" bundle="nls.engine"/>' title='<portal-fmt:text key="link.show.tools" bundle="nls.engine"/>' </a> </portal-logic:if> <portal-logic:if showTools="yes"> <% if (firstButton) { firstButton = false; } else { %> | <% } %> <a href='<portal-navigation:url command="ShowTools"/>'> <img border="0" align="absmiddle" width="16" height="19" src='<portal-logic:urlFindInTheme file="show_tools_on.gif"/>' alt='<portal-fmt:text key="link.hide.tools" bundle="nls.engine"/>' title='<portal-fmt:text key="link.hide.tools" bundle="nls.engine"/>'</a> </portal-logic:if>Dans l'une ou l'autre condition, la commande <portal-navigation:url command="ShowTools"/> est utilisée pour modifier la valeur de showTools. Elle permet d'utiliser l'icône comme bascule sur la page du portail. Cette condition est également vérifiée dans
ShowTools.jspafin de déterminer s'il faut représenter le mouvement et supprimer les icônes de portlet dans la barre de titre du portlet. - userImpersonated="true|false"
- Permet d'accéder au système d'un autre utilisateur comme si vous étiez cet utilisateur. Les utilisateurs tels les techniciens d'assistance peuvent utiliser la fonction d'emprunt d'identité pour identifier des incidents et des erreurs. Par exemple, si un administrateur de portail rencontre un problème qu'il ne peut pas résoudre, un technicien d'assistance peut utiliser la fonction d'emprunt d'identité et accéder au système de cet administrateur de portail pour trouver une solution.
- <portal-logic:pageMetaData/>
- Utilisé pour accéder aux métadonnées de la page affichée. La balise a deux attributs :
- varname
- Cet attribut est obligatoire et spécifie le nom de la variable qui affiche les métadonnées dans le corps de la balise. La variable fournit un objet qui implémente
com.ibm.portal.MetaData. - type
- Cet attribut est facultatif. Les valeurs permises sont
directetaggregated. La valeuraggregatedest la valeur par défaut. Si l'attribut de type a pour valeurdirect, seules les métadonnées définies pour la page sont affichées ; sinon, les métadonnées de la page, telles qu'elles sont fournies par le modèle de métadonnées de contenu, sont utilisées.
<portal-logic:pageMetaData varname="pageMetaData"> <table> <tr><th>Name</th><th>Value</th></tr> <c:forEach var="metaItem" items="${pageMetaData}"> <tr><td>${metaItem.key}</td><td>${metaItem.value}</td></tr> </c:forEach> </table> </portal-logic:pageMetaData> - <portal-logic:unless>
- Le fonctionnement de cette balise est l'inverse de celui de la balise <portal-logic:if>. Les attributs de cette balise permettent de vérifier plusieurs conditions. Si la condition est true, le contenu de la balise n'est pas écrit sur la page. Dans le cas contraire, le contenu est écrit. Plusieurs conditions peuvent être évaluées. La liste ci-dessous d'attributs peut être évaluée. Pour plus d'informations, reportez-vous à la description de chaque attribut sous la balise <portal-logic:if>.
- <portal-logic:urlFind>
- Génère une URL pointée vers un fichier. La ressource fait l'objet d'une recherche via différents chemins basés sur le marquage et l'environnement local pris en charge par le client et les attributs spécifiés de la balise. Attributes
root="root"path="path"file="file"Cet attribut est requis.
allowRelativeURL="true|false"
Le premier emplacement où la ressource est trouvée est utilisé pour créer l'URL. L'ordre de recherche utilisé est :- Chemin racine
- Nom de marquage
- Chemin d'accès
- Version de marquage
- Environnement local dans séquence décroissante
- Nom de fichier
Pour plus de détails sur la manière dont le serveur de portail recherche les ressources, voir la rubrique Agrégation. L'attribut allowRelativeURL indique si une URL absolue ou relative est générée.
- <portal-logic:urlFindInSkin file="file_name" id="identifier">
- Similaire à <portal-logic:urlFind>, cette balise génère une adresse URL pointée vers un fichier contenu dans le fichier d'archive Web du thème. Finding theme resources : Voir le lien Emplacement des ressources de thème dans la section consacrée.L'habillage est emprunté aux paramètres de l'utilisateur ou du système. L'attribut file est requis.
Lorsque id est spécifié, la balise lance une variable de script portant la valeur normalement écrite et rien n'est inscrit sur le flux de sortie. La valeur de l'attribut id est le nom de la variable de script.
Attribut :- forceAbsolute = "true|false"
- Cet attribut est facultatif. Il indique si l'URL générée par cette balise doit être absolue ou non. Si vous définissez cet attribut sur true, des URL absolues sont appliquées ; dans ce cas, d'autres paramètres qui affectent la génération des URL peuvent être remplacés.
- <portal-logic:urlFindInTheme file="file_name" id="identifier">
- Similaire à <portal-logic:urlFind>, cette balise génère une adresse URL pointée vers un fichier contenu dans le fichier d'archive Web du thème. Finding theme resources : Voir le lien Emplacement des ressources de thème dans la section consacrée.L'habillage est pris dans les paramètres de l'utilisateur ou du système. L'attribut file est requis.
Lorsque id est spécifié, la balise lance une variable de script portant la valeur normalement écrite et rien n'est inscrit sur le flux de sortie. La valeur de l'attribut id est le nom de la variable de script.
Attribut :- forceAbsolute = "true|false"
- Cet attribut est facultatif. Il indique si l'URL générée par cette balise doit être absolue ou non. Si vous définissez cet attribut sur true, des URL absolues sont appliquées ; dans ce cas, d'autres paramètres qui affectent la génération des URL peuvent être remplacés.