Jelly エスケープタイプ
JavaScript と HTML で文字をエスケープする場合は、別の方法を使用します。JavaScript はバックスラッシュ文字を使用し、HTML はアンパサンド文字を使用します。
注:
この機能を使用するには、JavaScript、HTML、および Apache Jelly (XML を実行可能コードに変換するための Java および XML ベースのスクリプティングおよび処理エンジン) の知識が必要です。
Jelly から出力を生成するときに必要なエスケープには、次の 2 つのタイプがあります。
- JavaScript
- HTML
これらのそれぞれのエスケープは以下のタイプで構成されます。
| タイプ | 送信元 | 宛先 |
|---|---|---|
| JavaScript |
' (一重引用符) |
\' |
| " (二重引用符) | \" | |
|
CR (キャリッジリターン) |
(可能性) | |
|
NL (改行) |
\n (「\」の後に「n」) |
|
| HTML |
& (アンパサンド) |
& |
|
< (次の値未満) |
< |
|
|
> (次の値を超える) |
> |
getHTMLValue() 関数を使用して HTML をエスケープすることもできます。これにより、すべての改行が強制され、上記の文字がエスケープされます。次のように使用できます。
${test.getHTMLValue()} Jelly 置換へのエスケープの追加
Jelly ファイルで文字エスケープを処理できます。XML エスケープの動作は、security_admin ロールを持つユーザーのみが変更できます。
このタスクについて
注:
この機能を使用するには、JavaScript、HTML、および Apache Jelly (XML を実行可能コードに変換するための Java および XML ベースのスクリプティングおよび処理エンジン) の知識が必要です。
手順
実行するエスケープを示すプリフィックスを
${式} または $[式] に追加します。
${JS:expression}
${HTML:expression}プリフィックスは、式の結果を取得し、出力する前にエスケープするようにシステムに指示します。エスケープは、プリフィックスのカンマ区切りリストを指定することで組み合わせることができます。
${JS,HTML:expression}