Marcadores Jelly

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 7 min. de leitura
  • Use Jelly para transformar XML em HTML.

    Assista a estes vídeos introdutórios para saber mais sobre como usar o Jelly no ServiceNow AI Platform.

    Jelly marcadores

    se
    • Descrição: O. se o marcador é exatamente o que parece, um se marcador. Isso é como um se declaração em qualquer linguagem de programação, mas tenha em mente que não há elseif marcador e não caso contrário marcador. Se você quiser criar esse tipo de estrutura, tente escolha / quando / caso contrário sintaxe.
    • Parâmetros: teste - A condição a ser avaliada para determinar se o bloco será executado.
    • Exemplo:
      <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>
      
    enquanto
    • Descrição: O. enquanto o marcador faz um loop while.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a declaração será executada em loop. Esta deve ser uma expressão incluída em . ou [] que é avaliada como verdadeiro ou falso.
    • Exemplo:
      <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>
    conjunto
    • Descrição: O. definido o marcador define uma variável.
    • Parâmetros:
      • var - A variável a ser definida. Muitas vezes, o sistema prefixa essas variáveis com jvar_ para consistência.
      • valor - O valor a ser definido var . Esta é geralmente uma expressão incluída em . ou [] .
      • DefaultValue - Se o valor for nulo ou vazio, este valor será colocado em var .
    • Exemplo:
      <j:set var="jvar_incident_number" value="${jvar_now_GR.getValue('number')}"/>
    set_if
    • Descrição: O. set_if o marcador define uma variável com base em um teste. Este marcador é semelhante ao ternário operador em outras linguagens de programação ( <test>? <if_true>: <if_false> ).
    • Parâmetros:
      • var - A variável a ser definida. Muitas vezes, o sistema prefixa essas variáveis com jvar_ para consistência.
      • teste - A condição a ser avaliada para determinar se a declaração avaliará o valor verdadeiro ou falso. Esta deve ser uma expressão incluída em . ou [] que é avaliada como verdadeiro ou falso.
      • verdadeiro - O valor para definir a variável como Se teste avalia para verdadeiro . Este parâmetro é opcional, portanto, se o campo estiver em branco e se o teste for avaliado como verdadeiro, a variável será deixada em branco.
      • falso - O valor para definir a variável como Se teste avaliado como falso. Este parâmetro é opcional, portanto, se o campo estiver em branco e se o teste for avaliado como falso, a variável será deixada em branco.
    escolha
    • Descrição: O. escolha o marcador inicia um bloco de escolha de código. Semelhante a if-elseif-else tipo de sintaxe na maioria das linguagens de programação. . escolha marcador, você pode usar quando e. caso contrário marcadores para especificar outros blocos de código.
    • Parâmetros: Nenhum
    • Exemplo:
      <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>
    quando
    • Descrição: O. quando o marcador é usado em um bloco escolher para indicar uma condição. Este marcador é semelhante a um se ou um elseif em que especifica uma condição, executa o conteúdo interno e implica uma pausa no final para sair do if-elseif construir.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a declaração será executada em loop. Esta deve ser uma expressão incluída em . ou [] que é avaliada como verdadeiro ou falso.
    • Exemplo:
      <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>
    caso contrário
    • Descrição: O. caso contrário o marcador é usado em um escolha / quando / caso contrário bloco, e é como caso contrário ou padrão caso.
    • Parâmetros: Nenhum
    • Exemplo:
      <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>

    Marcadores do Glide

    avaliar
    • Descrição: O. avaliar O marcador avalia o código JavaScript (lado do servidor) e torna as variáveis visíveis para o código futuro. Ao contrário de outros marcadores, o. avaliar O marcador avalia o conteúdo que está dentro do marcador como JavaScript do lado do servidor.

      O contexto é o mesmo das inclusões de script no sistema. Outras inclusões de script, regras de negócios globais, GlideRecord , GlideSystem E Variáveis Jelly (prefixadas com jelly. se o parâmetro jelly: "verdadeiro" definido) estão disponíveis.

    • Parâmetros:
      • var - O nome da variável que será definida como o resultado do script.
      • objeto - Se definido como verdadeiro , o resultado da expressão é tratado como um objeto em vez de uma variável primitiva (valores de variável de cadeia de caracteres ou inteiros).
      • geleia - Se definido como verdadeiro , Permite que variáveis de contexto do Jelly sejam referenciadas no script.
      • expressão - Esta é uma expressão a ser executada para o valor ser inserido var . A expressão pode ser um de dois lugares. Primeiro, pode ser um atributo no avaliar marcador em si mesmo. Caso contrário, o conteúdo entre o marcador de início e o marcador de término será a expressão. A última linha da expressão é o valor real passado para var .
    • Exemplo:
      <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" />
    mensagens
    • Descrição: O. mensagens marcador ajuda na tradução. Quando gs.getMessage() é chamado em qualquer lugar em uma página, há dois locais possíveis onde a tradução é encontrada. Primeiro, a página verifica um cache local de traduções. Em segundo lugar, a página faz uma chamada AJAX ao servidor para encontrar a tradução. O que g: mensagens permite que as páginas armazenem determinadas mensagens em cache.
    • Parâmetros: Nenhum
    • Exemplo:
      <g:messages>
        Yes
        No
        Cancel
      </g:messages>
    ponto de interrupção
    • Descrição: Quando ponto de interrupção O marcador é chamado, ele imprime uma lista de todas as variáveis no Jelly no momento atual, com seus respetivos valores. Se uma variável for especificada, ela imprimirá a variável solicitada e seu valor. A saída é colocada no log do sistema.
    • Parâmetros: var - (Opcional) A variável para a qual o valor será registrado em log. Se var não for especificado, todas as variáveis serão despejadas no log.
    • Exemplo:
      <g:breakpoint />
      <g:breakpoint var="sysparm_view"/>
    no_escape
    • Descrição: O sistema, por padrão, usa a saída de escape como medida de segurança. Saída colocada dentro de no_escape os marcadores não têm escape antes da saída. Tenha cuidado ao usar esses marcadores, porque se a entrada do usuário for exibida aqui, ela poderá abrir uma vulnerabilidade de segurança na página.
    • Parâmetros: Nenhum
    • Exemplo (fase 1) – desabilita o escape automático de saída de todas as expressões contidas:
      <g:no_escape>
       ${jvar_raw_html_data}
      </g:no_escape>
    • Exemplo (fase 2) – use NOESC para desabilitar o escape da cadeia de caracteres especificada. Isso implica que a expressão deve ser avaliada como uma cadeia de caracteres.
      <g:no_escape>$[NOESC:jvar_expr]</g:no_escape>

      Para obter informações sobre a avaliação de fase 1 e fase 2, consulte os vídeos de introdução do Jelly listados no início desta seção.

    macro_invoke
    • Descrição: O. macro_invoke O marcador chama uma macro de IU que você especificou no banco de dados. Você também pode chamar uma macro de IU especificando-a no nome do marcador. Por exemplo, se você tivesse uma macro de IU chamada my_macro, poderia chamar essa macro com o marcador <g:my_macro/> . Para obter informações, consulte Macros de IU.
    • Parâmetros:
      • macro - O nome da macro de IU a ser executada. Se o nome do marcador for macro_invoke , em seguida, o atributo de macro especifica o nome da macro. Se o nome do marcador incluir o nome da macro, não haverá necessidade de incluir um atributo de macro.
      • Outros atributos - Para cada atributo especificado, uma variável com esse nome estará disponível no contexto da macro de IU, prefixada com jvar_ .
    • Exemplo:
      <!-- 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
    • Descrição: O. if_polaris o marcador verifica se Next Experience está habilitado para a página atual. Ele deve incluir pelo menos um dos marcadores secundários <g:then /> ou g:else /> .
    • Parâmetros: Nenhum
    • Exemplo:
      <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>
      
    em seguida
    • Descrição: O. em seguida o marcador é usado em um if_polaris bloquear para definir o conteúdo da página quando Next Experience habilitado.
    • Parâmetros: Nenhum
    • Exemplo:
      <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>
      
    mais
    • Descrição: O. caso contrário o marcador é usado em um if_polaris bloquear para definir o conteúdo da página quando Next Experience não está habilitado.
    • Parâmetros: Nenhum
    • Exemplo:
      <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>