Marcadores Jelly

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 7 min. de leitura
  • Use o 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 do Jelly

    se
    • Descrição: o marcador if é exatamente 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á marcadores elseif e 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 de tempo faz um loop de tempo.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a declaração fará um loop. Esta 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 var. 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')}"/>
    set_if
    • 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. Esta 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 escolha para indicar uma condição. Este marcador é semelhante a um if ou elseif no sentido de que especifica uma condição, executa o conteúdo interno e, em seguida, implica uma quebra no final para deixar a construção if-elseif.
    • Parâmetros: teste - A condição a ser avaliada para determinar se a declaração fará um loop. Esta 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 de outra forma é usado em um bloco escolher/quando/caso contrário e é como o caso padrão ou caso contrário.
    • 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 (do lado do servidor) e torna as variáveis visíveis para o código futuro. Ao contrário de outras tags, a tag de avaliação avalia o conteúdo que está dentro da tag 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 como 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 (valores de cadeia de caracteres ou 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 qualquer uma das duas casas. 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 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 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: message 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 do ponto de interrupção é chamado, ele imprime uma lista de todas as variáveis no 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 registrar o valor. Se var não for especificado, todas as variáveis serão descartadas 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 dos 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 de saída automático 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 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 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á chamá-la 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 da macro especificará 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." />
    se_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>