Jelly 태그

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기12분
  • Jelly를 사용하여 XML을 HTML로 변환합니다.

    에서 Jelly를 사용하는 방법에 대해 알아보려면 이 소개 비디오를 시청하십시오 Now Platform.

    Jelly 태그

    if
    • 설명: if 태그는 보이는 그대로의 if 태그입니다. 이것은 모든 프로그래밍 언어의 if 문과 비슷하지만 elseif 태그와 else 태그가 없다는 점을 명심하십시오. 이러한 종류의 구조를 만들려면 choose/when/else 구문을 사용해 보십시오.
    • 매개변수: 테스트 - 블록이 실행될지 여부를 결정하기 위해 평가할 조건입니다.
    • 예시:
      <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>
      
    동안
    • 설명: while 태그는 while 루프를 수행합니다.
    • 매개변수: 테스트 - 명령문이 반복되는지 여부를 결정하기 위해 평가할 조건입니다. true 또는 false로 평가되는 ${} 또는 $[] 로 묶인 식이어야 합니다.
    • 예시:
      <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>
    set
    • 설명: set 태그는 변수를 설정합니다.
    • 매개변수:
      • var - 설정할 변수입니다. 시스템은 일관성을 위해 이러한 변수 앞에 jvar_ 붙이는 경우가 많습니다.
      • value - var 을 설정할 값입니다. 이것은 종종 ${} 또는 $[]로 묶인 식입니다.
      • defaultValue - 값이 null이거나 비어있는 경우 이 값은 var에 입력됩니다.
    • 예시:
      <j:set var="jvar_incident_number" value="${jvar_now_GR.getValue('number')}"/>
    set_if
    • 설명: set_if 태그는 테스트를 기반으로 변수를 설정합니다. 이 태그는 다른 프로그래밍 언어의 삼항 연산자와 유사합니다(var = <test> ? <if_true> : <if_false>).
    • 매개변수:
      • var - 설정할 변수입니다. 시스템은 일관성을 위해 이러한 변수 앞에 jvar_ 붙이는 경우가 많습니다.
      • 테스트 - 명령문이 예 값 또는 아니오 값을 평가할지 결정하기 위해 평가할 조건입니다. true 또는 false로 평가되는 ${} 또는 $[] 로 묶인 식이어야 합니다.
      • true - 테스트로 평가되는 경우 변수를 설정할 값입니다. 이 매개 변수는 선택 사항이므로 필드가 비어 있고 test가 true로 평가되면 변수가 비어 있습니다.
      • false - 테스트 가 false로 평가되는 경우 변수를 설정할 값입니다. 이 매개 변수는 선택 사항이므로 필드가 비어 있고 테스트가 false로 평가되면 변수가 비어 있습니다.
    고르다
    • 설명: choose 태그는 코드 블록을 선택합니다. 이것은 대부분의 프로그래밍 언어에서 if-elseif-else 종류의 구문과 유사합니다. choose 태그를 사용하면 whenelse 태그를 사용하여 다른 코드 블록을 지정할 수 있습니다.
    • 매개 변수: 없음
    • 예시:
      <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>
    언제
    • 설명: when 태그는 choose 블록 내에서 조건을 나타내는 데 사용됩니다. 이 태그는 조건을 지정하고, 내부 내용을 실행한 다음, 마지막에 if-elseif 구문을 종료하기 위해 중단을 암시한다는 점에서 if 또는 elseif와 유사합니다.
    • 매개변수: 테스트 - 명령문이 반복되는지 여부를 결정하기 위해 평가할 조건입니다. true 또는 false로 평가되는 ${} 또는 $[] 로 묶인 식이어야 합니다.
    • 예시:
      <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>
    그렇지 않으면
    • 설명: else 태그는 choose/when/else 블록 내에서 사용되며 else 또는 default case와 같습니다.
    • 매개 변수: 없음
    • 예시:
      <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>

    Glide 태그

    평가
    • 설명: evaluate 태그는 JavaScript 코드(서버 측)를 평가하고 향후 코드에서 변수를 볼 수 있도록 합니다. 다른 태그와 달리 evaluate 태그는 태그 내에 있는 콘텐츠를 서버 측 JavaScript로 평가합니다.

      컨텍스트는 시스템에 있는 스크립트 포함의 컨텍스트와 동일합니다. 기타 스크립트 포함, 전역 비즈니스 규칙, GlideRecord, GlideSystem 및 Jelly 변수(jelly 프리픽스. 매개변수 jelly="예" 가 설정된 경우)를 사용할 수 있습니다.

    • 매개변수:
      • var - 스크립트의 결과로 설정될 변수의 이름입니다.
      • object - true로 설정하면 식의 결과가 기본 변수(문자열 또는 정수 변수 값) 대신 객체로 처리됩니다.
      • jelly - 로 설정하면 스크립트에서 Jelly 컨텍스트 변수를 참조할 수 있습니다.
      • expression - var에 넣을 값에 대해 실행할 표현식입니다. 표현식은 두 위치 중 하나일 수 있습니다. 첫째, evaluate 태그 자체의 속성일 수 있습니다. 그렇지 않으면 시작 태그와 끝 태그 사이의 내용이 표현식입니다. 표현식의 마지막 줄은 var에 전달된 실제 값입니다.
    • 예시:
      <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 태그는 번역에 도움이 됩니다. gs.getMessage()가 페이지의 아무 곳에서나 호출되면 번역을 찾을 수 있는 두 위치가 있습니다. 먼저 페이지에서 번역의 로컬 캐시를 확인합니다. 둘째, 페이지는 번역을 찾기 위해 서버에 AJAX 호출을 수행합니다. g:messages가 하는 일은 페이지가 특정 메시지를 캐시할 수 있도록 하는 것입니다.
    • 매개 변수: 없음
    • 예시:
      <g:messages>
        Yes
        No
        Cancel
      </g:messages>
    중단점
    • 설명: 중단점 태그가 호출되면 현재 현재 Jelly의 모든 변수 목록이 해당 값과 함께 인쇄됩니다. 변수가 지정되면 요청된 변수와 해당 값을 인쇄합니다. 출력은 시스템 로그에 배치됩니다.
    • 매개변수: var - (선택 사항) 값을 기록할 변수입니다. var을 지정하지 않으면 모든 변수가 로그에 덤프됩니다.
    • 예시:
      <g:breakpoint />
      <g:breakpoint var="sysparm_view"/>
    no_escape
    • 설명: 시스템은 기본적으로 이스케이프된 출력을 보안 조치로 사용합니다. no_escape 태그 내에 배치된 출력은 출력 전에 이스케이프되지 않습니다. 사용자 입력이 여기에 표시되면 페이지에 보안 취약점이 발생할 수 있으므로 이러한 태그를 사용할 때 주의하십시오.
    • 매개 변수: 없음
    • 예제(1단계) – 포함된 모든 ${} 식의 자동 출력 이스케이프를 비활성화합니다.
      <g:no_escape>
       ${jvar_raw_html_data}
      </g:no_escape>
    • 예제(2단계) – NOESC 를 사용하여 지정된 문자열에 대한 이스케이프를 비활성화합니다. 이는 식이 문자열로 평가되어야 함을 의미합니다.
      <g:no_escape>$[NOESC:jvar_expr]</g:no_escape>

      1단계 및 2단계 평가에 대한 자세한 내용은 이 섹션의 시작 부분에 나열된 Jelly 소개 비디오를 참조하십시오.

    macro_invoke
    • 설명: macro_invoke 태그는 데이터베이스에 지정한 UI 매크로를 호출합니다. 태그 이름에 UI 매크로를 지정하여 UI 매크로를 호출할 수도 있습니다. 예를 들어 my_macro이라는 UI 매크로가 있는 경우 <g:my_macro/> 태그를 사용하여 해당 매크로를 호출할 수 있습니다. 자세한 내용은 UI 매크로 문서를 참조하십시오.
    • 매개변수:
      • macro - 실행할 UI 매크로 이름입니다. 태그 이름이 g:macro_invoke인 경우 macro 속성은 매크로의 이름을 지정합니다. 태그 이름에 매크로 이름이 포함되어 있으면 매크로 속성을 포함할 필요가 없습니다.
      • 기타 속성 - 지정한 각 속성에 대해 해당 이름의 변수를 UI 매크로의 컨텍스트에서 사용할 수 있으며 jvar_ 접두사가 붙습니다.
    • 예시:
      <!-- 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
    • 설명: if_polaris 태그는 현재 페이지에 대해 활성화되어 있는지 Next Experience 확인합니다. 하위 태그 <g:then /> 또는 g:else /> 중 하나 이상을 포함해야 합니다.
    • 매개 변수: 없음
    • 예시:
      <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>
      
    그런 다음
    • 설명: then 태그는 활성화 될 때 Next Experience 페이지 콘텐츠를 설정하기 위해 if_polaris 블록 내에서 사용됩니다.
    • 매개 변수: 없음
    • 예시:
      <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>
      
    else
    • 설명: else 태그는 활성화 되지 않은 경우 Next Experience 페이지 콘텐츠를 설정하기 위해 if_polaris 블록 내에서 사용됩니다.
    • 매개 변수: 없음
    • 예시:
      <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>