Jelly のタグ
Jelly を使用して XML を HTML に変換します。
Now Platform で Jelly を使用する方法については、次の紹介ビデオをご覧ください。
Jelly のタグ
- if
- 説明:
ifタグは、文字どおりのifタグです。これはプログラミング言語のifステートメントに似ていますが、elseifタグもelseタグもないことに注意してください。そういった構造を作成する場合は、choose/when/otherwise構文を使用してください。 - パラメーター:
test- ブロックが実行されるかどうかを判断するために評価する条件。 - 例:
<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タグは while ループを実行します。 - パラメーター:
test- ステートメントがループしているかどうかを判断するために評価する条件。これは、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タグは test に基づいて変数を設定します。このタグは、他のプログラミング言語のternary演算子 (var = <test> ? <if_true> : <if_false>) に類似しています。 - パラメーター:
var:設定する変数。多くの場合、これらの変数には一貫性のためにjvar_というプリフィックスが付けられます。test:ステートメントが true 値を評価するか false 値を評価するかを決定するために評価する条件。これは、true または false に評価される${}または$[]で囲まれた式である必要があります。true:testがtrueと評価された場合に変数に設定する値。このパラメーターはオプションであるため、フィールドが空白で、テストが true と評価された場合、変数は空白のままになります。false:testが false と評価された場合に変数に設定する値。このパラメーターはオプションであるため、フィールドが空白で、test が false と評価された場合、変数は空白のままになります。
- 説明:
- choose
- 説明:
chooseタグは、コードの choose ブロックを開始するのに使用します。これは、ほとんどのプログラミング言語のif-elseif-else構文に似ています。chooseタグでは、whenタグとotherwiseタグを使用して、他のコードブロックを指定できます。 - パラメーター名:なし
- 例:
<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
- 説明:
whenタグは、条件を示すために choose ブロック内で使用されます。このタグは、条件を指定し、内部コンテンツを実行し、if-elseif構造を終了するために最後にブレークを指定するという点で、ifまたはelseifに似ています。 - パラメーター:
test- ステートメントがループしているかどうかを判断するために評価する条件。これは、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>
- 説明:
- otherwise
- 説明:
otherwiseタグは、choose/when/otherwiseブロック内で使用され、elseまたはdefaultに似ています。 - パラメーター名:なし
- 例:
<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
- 説明:
evaluateタグは JavaScript コード (サーバー側) を評価し、将来のコードで変数を表示できるようにします。他のタグとは異なり、evaluateタグは、タグ内のコンテンツをサーバー側の JavaScript として評価します。コンテキストは、システムのスクリプトインクルードと同じです。その他のスクリプトインクルード、グローバルビジネスルール、GlideRecord、GlideSystem、および Jelly 変数 (パラメーター
jelly="true"が設定されている場合は、先頭に jelly が付きます) を使用できます。 - パラメーター:
var:スクリプトの結果に設定される変数の名前。オブジェクト:trueに設定すると、式の結果はプリミティブ変数 (文字列または整数の変数値) ではなくオブジェクトとして扱われます。jelly:trueに設定すると、Jelly コンテキスト変数をスクリプトで参照できるようになります。式:これは、varに入力する値に対して実行される式です。式は 2 つの場所のいずれかで使用できます。まず、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
- 説明:
messagesタグは翻訳に役立ちます。gs.getMessage() がページ上の任意の場所で呼び出された場合、翻訳が見つかる可能性のある場所は 2 か所あります。まず、ページで翻訳のローカルキャッシュをチェックします。次に、ページでサーバーに対して AJAX 呼び出しを行い、翻訳を検索します。g:messagesの機能は、ページが特定のメッセージをキャッシュできるようにすることです。 - パラメーター名:なし
- 例:
<g:messages> Yes No Cancel </g:messages>
- 説明:
- breakpoint
- 説明:
breakpointタグが呼び出されると、現時点での 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 マクロを呼び出すこともできます。たとえば、my_macro という名前の UI マクロがある場合、そのマクロを<g:my_macro/>タグで呼び出すことができます。詳細については、「 UI マクロ 」を参照してください。 - パラメーター:
マクロ:実行する UI マクロの名前。タグ名が「g:macro_invoke」の場合、マクロ属性はマクロの名前を指定します。タグ名にマクロの名前が含まれている場合は、マクロ属性を含める必要はありません。- その他の属性:指定した属性ごとに、その名前の変数が 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タグは、現在のページで ネクストエクスペリエンス が有効かどうかを確認します。子タグ<g:then />または<g:else />の少なくとも 1 つを含める必要があります。 - パラメーター名:なし
- 例:
<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タグは、ネクストエクスペリエンス が有効になっている場合に、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タグは、ネクストエクスペリエンス が有効になっていない場合に、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>
- 説明: