Marcadores Jelly

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 7 min. de leitura
  • Use Jelly para transformar XML em HTML.

    Assista a esses vídeos introdutórios para saber mais sobre como usar o Jelly no Now Platform.

    Marcadores Jelly

    se
    • Descrição: o marcador if é apenas o que parece, um marcador if. Isso é como uma declaração if em qualquer linguagem de programação, mas lembre-se de que não há nenhum marcador elseif e nenhum marcador else. Se você quiser criar esse tipo de estrutura, tente a sintaxe escolher/quando/caso contrário.
    • 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 marcador enquanto faz um loop.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a instrução fará um loop. Deve ser uma expressão entre ${} ou $[] que é avaliada como verdadeira ou falsa.
    • 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 marcador definido define uma variável.
    • Parâmetros:
      • var - A variável a ser definida. Frequentemente, o sistema prefixa essas variáveis com jvar_ para consistência.
      • value - O valor para definir a variável. Geralmente, é uma expressão entre ${} ou $[].
      • defaultValue — Se o resultado for nulo ou vazio, esse valor será colocado na variável.
    • Exemplo:
      <j:set var="jvar_incident_number" value="${jvar_now_GR.getValue('number')}"/>
    definir_se
    • Descrição: o marcador set_if define uma variável com base em um teste. Este marcador é semelhante ao operador ternário em outras linguagens de programação (var =<test> ?<if_true> :<if_false> ).
    • Parâmetros:
      • var - A variável a ser definida. Frequentemente, 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 o valor falso. Deve ser uma expressão entre ${} ou $[] que é avaliada como verdadeira ou falsa.
      • verdadeiro — O valor para definir a variável se o teste for avaliado como 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 se o teste for 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.
    escolher
    • Descrição: o marcador de escolha inicia um bloco de código de escolha. Isso é semelhante ao tipo de sintaxe if-elseif-else na maioria das linguagens de programação. Com um marcador escolher, você pode usar marcadores quando e caso contrário 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 marcador quando é usado em um bloco de seleção para indicar uma condição. Esse marcador é semelhante a um if ou elseif, pois especifica uma condição, executa o conteúdo interno e implica uma pausa no final para sair da construção if-elseif.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a instrução fará um loop. Deve ser uma expressão entre ${} ou $[] que é avaliada como verdadeira ou falsa.
    • 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 marcador caso contrário é usado em um bloco escolher/quando/caso contrário e é como o caso padrão ou else.
    • 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 marcador de avaliação 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 marcador de avaliação 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ócio globais, variáveis GlideRecord, GlideSysteme Jelly (prefixadas com Jelly. se o parâmetro Jelly="true" estiver definido) estão disponíveis.

    • Parâmetros:
      • var - O nome da variável que será definida para o resultado do script.
      • objeto - Se definido como verdadeiro, o resultado da expressão será tratado como um objeto em vez de uma variável primária (cadeia de caracteres ou valores de variáveis inteiras).
      • Jelly - Se definido como verdadeiro, permite que as variáveis de contexto do Jelly sejam referenciadas no script.
      • expressão — Esta é uma expressão a ser executada para o valor a ser colocado na variável. A expressão pode estar em dois lugares. Primeiro, pode ser um atributo no próprio marcador de avaliação. Caso contrário, o conteúdo entre o marcador inicial e o marcador final será a expressão. A última linha da expressão é o valor real passado para a variável.
    • 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 marcador de mensagens ajuda na tradução. Quando gs.getMessage() é chamado em qualquer lugar de 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 para o servidor para encontrar a tradução. O que g:messages faz é permitir que as páginas armazenem em cache determinadas mensagens.
    • Parâmetros: nenhum
    • Exemplo:
      <g:messages>
        Yes
        No
        Cancel
      </g:messages>
    ponto de interrupção
    • Descrição: quando o marcador de ponto de interrupção é chamado, ele imprime uma lista de todas as variáveis em Jelly no momento atual, com seus respectivos 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. Se var não for especificado, todas as variáveis serão descarregadas no log.
    • Exemplo:
      <g:breakpoint />
      <g:breakpoint var="sysparm_view"/>
    no_escape
    • Descrição: o sistema, por padrão, usa a saída com escape como medida de segurança. A saída colocada dentro de marcadores no_escape não é escapada antes da saída. Tenha cuidado ao usar esses marcadores, pois 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 para a cadeia de caracteres especificada. Isso significa 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 ao Jelly listados no início desta seção.

    macro_invoke
    • Descrição: o marcador macro_invoke 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ê tiver uma macro de IU chamada my_macro, poderá 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 g:macro_invoke, o atributo de macro especificará o nome da macro. Se o nome do marcador incluir o nome da macro, não será necessário 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 marcador if_polaris verifica se Next Experience está habilitado para a página atual. 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 marcador então é usado em um bloco if_polaris para definir o conteúdo da página quando Next Experience 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>
      
    mais
    • Descrição: o marcador else é usado em um bloco if_polaris 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>