Balises Jelly

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 7 minutes de lecture
  • Utilisez Jelly pour transformer XML en HTML.

    Regardez ces vidéos d’introduction pour en savoir plus sur l’utilisation de Jelly dans le Now Platform.

    Balises Jelly

    if
    • Description : la balise if est exactement ce à quoi elle ressemble, une balise if . C’est comme une instruction if dans n’importe quel langage de programmation, mais gardez à l’esprit qu’il n’y a pas de balise elseif et aucune balise elseif . Si vous voulez créer ce genre de structure, essayez la syntaxe choose/when/otherwise .
    • Paramètres : test - La condition à évaluer afin de déterminer si le bloc s’exécutera.
    • Exemple :
      <g:evaluate var="jvar_now_GR" object="true">
         var now_GR = new GlideRecord("incident");
         now_GR.addQuery("active", true);
         now_GR.query();
         now_GR;
      </g:evaluate>
       
      <j:if test="${!jvar_now_GR.hasNext()}">
         We did not find any active incidents.
      </j:if>
      <j:if test="${jvar_now_GR.next()}">
         We found ${jvar_now_GR.getRowCount()} active incidents.
      </j:if>
      
    pendant que
    • Description : la balise while fait une boucle while.
    • Paramètres : test : condition à évaluer afin de déterminer si l’instruction va être exécutée en boucle. Il doit s’agir d’une expression entourée de ${} ou $[] qui équivaut à vrai ou faux.
    • Exemple :
      <g:evaluate var="jvar_now_GR" object="true">
         var now_GR = new GlideRecord("incident");
         now_GR.addQuery("active", true);
         now_GR.query();
         now_GR;
      </g:evaluate>
       
      <j:while test="${jvar_now_GR.next()}">
        <a href="incident.do?sys_id=${jvar_now_GR.getValue('sys_id')}">${jvar_now_GR.getValue('number')}</a>
      </j:while>
    définir
    • Description : la balise set définit une variable.
    • Paramètres :
      • var - La variable à définir. Souvent, le système fait précéder ces variables d’jvar_ par souci de cohérence.
      • valeur : la valeur sur laquelle définir la var . Il s’agit souvent d’une expression entourée de ${} ou $[].
      • defaultValue : si la valeur renvoie null ou vide, cette valeur est placée dans la var.
    • Exemple :
      <j:set var="jvar_incident_number" value="${jvar_now_GR.getValue('number')}"/>
    set_if
    • Description : la balise set_if définit une variable en fonction d’un test. Cette balise est similaire à l’opérateur ternaire dans d’autres langages de programmation (var = <test> ? <if_true> : <if_false>).
    • Paramètres :
      • var - La variable à définir. Souvent, le système fait précéder ces variables d’jvar_ par souci de cohérence.
      • test : condition à évaluer afin de déterminer si la déclaration évaluera la valeur vraie ou la valeur fausse. Il doit s’agir d’une expression entourée de ${} ou $[] qui équivaut à vrai ou faux.
      • vrai : valeur sur laquelle définir la variable si le test donne la valeur vrai. Ce paramètre est facultatif, donc si le champ est vide et si test est vrai, la variable est laissée vide.
      • faux : valeur sur laquelle définir la variable si le test équivaut à faux. Ce paramètre est facultatif, donc si le champ est vide et si test est évalué comme faux, la variable sera laissée vide.
    choisir
    • Description : la balise choose lance un bloc de code choose. Ceci est similaire au type de syntaxe if-elseif-else dans la plupart des langages de programmation. Avec une balise choose , vous pouvez utiliser les balises when et otherwise pour spécifier d’autres blocs de code.
    • Paramètres : Aucun
    • Exemple :
      <j:choose>
         <j:when test="${jvar_now_GR.getRowCount() ${AMP}lt; 1}">We found multiple records!</j:when>
         <j:when test="${jvar_now_GR.next()}">We found record ${jvar_now_GR.getValue('number')}</j:when>
         <j:otherwise>Sorry, we could not find the record you specified.</j:otherwise>
      </j:choose>
    quand
    • Description : la balise when est utilisée à l’intérieur d’un bloc choose pour indiquer une condition. Cette balise est similaire à un if ou à un elseif en ce sens qu’elle spécifie une condition, exécute le contenu interne, puis implique une pause à la fin pour quitter la construction if-elseif .
    • Paramètres : test : condition à évaluer afin de déterminer si l’instruction va être exécutée en boucle. Il doit s’agir d’une expression entourée de ${} ou $[] qui équivaut à vrai ou faux.
    • Exemple :
      <j:choose>
         <j:when test="${jvar_now_GR.getRowCount() ${AMP}lt; 1}">We found multiple records!</j:when>
         <j:when test="${jvar_now_GR.next()}">We found record ${jvar_now_GR.getValue('number')}</j:when>
         <j:otherwise>Sorry, we could not find the record you specified.</j:otherwise>
      </j:choose>
    autrement
    • Description : la balise else est utilisée dans un bloc choose/when/otherwise et est similaire à la casse else ou default .
    • Paramètres : Aucun
    • Exemple :
      <j:choose>
         <j:when test="${jvar_now_GR.getRowCount() ${AMP}lt; 1}">We found multiple records!</j:when>
         <j:when test="${jvar_now_GR.next()}">We found record ${jvar_now_GR.getValue('number')}</j:when>
         <j:otherwise>Sorry, we could not find the record you specified.</j:otherwise>
      </j:choose>

    Balises Glide

    Évaluer
    • Description : la balise evaluate évalue le code JavaScript (côté serveur) et rend les variables visibles pour le code futur. Contrairement aux autres balises, la balise evaluate évalue le contenu qui se trouve à l’intérieur de la balise en tant que JavaScript côté serveur.

      Le contexte est le même que celui des includes de script dans le système. D’autres includes de script, des règles métier globales, des variables GlideRecord, GlideSystem et Jelly (précédées de jelly. si le paramètre jelly="true » est défini) sont disponibles.

    • Paramètres :
      • var : nom de la variable qui sera définie sur le résultat du script.
      • objet : si la valeur est définie sur vrai, le résultat de l’expression est traité comme un objet et non comme une variable primitive (valeurs de variables de chaîne ou entier).
      • Jelly : si la valeur est définie sur vrai, autorise le référencement des variables de contexte Jelly dans le script.
      • expression : il s’agit d’une expression à exécuter pour la valeur à mettre dans var. L’expression peut être à l’un ou l’autre des deux endroits. Tout d’abord, il peut s’agir d’un attribut sur la balise evaluate elle-même. Sinon, le contenu entre la balise de début et la balise de fin est l’expression. La dernière ligne de l’expression est la valeur réelle passée en var.
    • Exemple :
      <g:evaluate var="jvar_now_GR" object="true">
        var now_GR = new GlideRecord("incident");
        now_GR.addQuery("active", "true");
        now_GR.query();
        now_GR; // this is the variable put into the variable jvar_now_GR
      </g:evaluate>
      <g:evaluate var="jvar_now_GR" object="true" expression="
        var now_GR = new GlideRecord('incident');
        now_GR.addQuery('active', 'true');
        now_GR.query();
        now_GR; // this is the variable put into the variable jvar_now_GR" />
    messages
    • Description : la balise messages facilite la traduction. Lorsque gs.getMessage() est appelé n’importe où sur une page, il y a deux endroits possibles où la traduction se trouve. Tout d’abord, la page vérifie un cache local de traductions. Deuxièmement, la page effectue un appel AJAX au serveur pour trouver la traduction. Ce que fait g :messages, c’est de permettre aux pages de mettre en cache certains messages.
    • Paramètres : Aucun
    • Exemple :
      <g:messages>
        Yes
        No
        Cancel
      </g:messages>
    Breakpoint
    • Description : lorsque la balise de point d’arrêt est appelée, elle affiche une liste de toutes les variables de Jelly au moment actuel, avec leurs valeurs respectives. Si une variable est spécifiée, elle affiche la variable demandée et sa valeur. La sortie est placée dans le journal système.
    • Paramètres : var : (Facultatif) Variable permettant de consigner la valeur. Si var n’est pas spécifié, toutes les variables sont vidées dans le journal.
    • Exemple :
      <g:breakpoint />
      <g:breakpoint var="sysparm_view"/>
    no_escape
    • Description : par défaut, le système utilise la sortie échappée comme mesure de sécurité. La sortie placée à l’intérieur de no_escape balises n’est pas échappée avant la sortie. Soyez prudent lorsque vous utilisez ces balises, car si l’entrée de l’utilisateur est affichée ici, elle peut ouvrir une faille de sécurité sur la page.
    • Paramètres : Aucun
    • Exemple (phase 1) – Désactive l’échappement automatique de sortie de toutes les expressions contenues ${} :
      <g:no_escape>
       ${jvar_raw_html_data}
      </g:no_escape>
    • Exemple (phase 2) – Utilisez NOESC pour désactiver l’échappement pour la chaîne spécifiée. Cela implique que l’expression doit être évaluée en une chaîne de caractères.
      <g:no_escape>$[NOESC:jvar_expr]</g:no_escape>

      Pour plus d’informations sur les phases 1 et 2 de l’évaluation, reportez-vous aux vidéos d’introduction de Jelly répertoriées au début de cette section.

    macro_invoke
    • Description : la balise macro_invoke appelle une macro d’interface utilisateur que vous avez spécifiée dans la base de données. Vous pouvez également appeler une macro d’interface utilisateur en la spécifiant dans le nom de la balise. Par exemple, si vous avez une macro d’interface utilisateur nommée my_macro, vous pouvez l’appeler avec la balise <g :my_macro/>. (pour en savoir plus, consultez Macros d'interface utilisateur) ;
    • Paramètres :
      • macro : le nom de la macro d’interface utilisateur à exécuter. Si le nom de votre balise est g :macro_invoke, l’attribut macro spécifie le nom de la macro. Si le nom de la balise inclut le nom de la macro, il n’est pas nécessaire d’inclure un attribut de macro.
      • Autres attributs : pour chaque attribut que vous spécifiez, une variable portant ce nom sera disponible dans le contexte de la macro d’interface utilisateur, précédée de jvar_.
    • Exemple :
      <!-- Will invoke the contents of the UI macro named "sample_macro", which will have the variable jvar_message available within it-->
      <g:macro_invoke macro="sample_macro" message="This is a sample macro variable." />
      <!-- Will invoke the contents of the UI macro named "sample_macro", which will have the variable jvar_message available within it-->
      <g:sample_macro message="This is a sample macro variable." />
    if_polaris
    • Description : la balise if_polaris vérifie si Next Experience elle est activée pour la page actuelle. Il doit inclure au moins une des balises enfants <g :then /> ou g :else />.
    • Paramètres : Aucun
    • Exemple :
      <g:if_polaris>
          <g:then><g:inline template="polaris_nav"/></g:then>
          <g:else><g:inline template="classic_nav"/></g:else>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:then><a href="…">Click here to see what’s new!</a></g:then>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:else>Core UI only code here!</g:else>
      </g:if_polaris>
      
    puis
    • Description : la balise then est utilisée dans un bloc if_polaris pour définir le contenu de la page lorsqu’il Next Experience est activé.
    • Paramètres : Aucun
    • Exemple :
      <g:if_polaris>
          <g:then><g:inline template="polaris_nav"/></g:then>
          <g:else><g:inline template="classic_nav"/></g:else>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:then><a href="…">Click here to see what’s new!</a></g:then>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:else>Core UI only code here!</g:else>
      </g:if_polaris>
      
    sinon
    • Description : la balise else est utilisée dans un bloc if_polaris pour définir le contenu de la page lorsqu’elle Next Experience n’est pas activée.
    • Paramètres : Aucun
    • Exemple :
      <g:if_polaris>
          <g:then><g:inline template="polaris_nav"/></g:then>
          <g:else><g:inline template="classic_nav"/></g:else>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:then><a href="…">Click here to see what’s new!</a></g:then>
      </g:if_polaris>
      
      <g:if_polaris>
          <g:else>Core UI only code here!</g:else>
      </g:if_polaris>