Various custom configuration elements support a common content model used to supply JSR-223 scripts inside other object configurations. Where applicable, the specific configuration elements that share this content model will link to this page. These include the following documentation pages:
...
Excerpt |
---|
AttributesAn element of type ScriptType has the following XML attributes: Name | Type | Use | Default | Description |
---|
language | string | optional | "javascript" | Defines the JSR-223 language to use. The default is ECMAScript using either the Rhino (Java 7) or Nashorn (Java 8) engines. | customObjectRef 3.2
| string | optional |
| The ID of a Spring bean defined elsewhere in the configuration. |
If the customObjectRef attribute is present, the result of the referenced Spring bean is made available to the script in a variable named custom . This is in addition to whatever input context is routinely made available to the script. For specific details, consult the individual configuration element pages listed above. Child ElementsAn element of type ScriptType has the following child elements: Name | Cardinality | Description |
---|
<Script> | Exactly One
| An inline script | <ScriptFile> | Path to a local file or classpath resource containing the script |
The script may be stored in a local file (with <ScriptFile> ) or written inline (with <Script> ). An inline script should be wrapped with a CDATA section to prevent interpretation of any special XML characters that may be included in the script. Tip |
---|
title | Wrap Always wrap inline scripts with an XML a CDATA blocksection |
---|
| An inline script is usually wrapped inside an XML CDATA block to protect against special XML characters. For example:Always wrap inline scripts with a CDATA section, even if the script contains no special XML characters. This will future-proof your script. |
|
Examples
The following example illustrates the use of a CDATA section
Code Block |
---|
language | xml |
---|
title | A script wrapped with a CDATA section |
---|
|
<Script>
<![CDATA[
// script goes here
]]>
</Script> All inline scripts should be wrapped this way, even simple scripts. |
For specific additional examples of scripts, consult the individual configuration element pages listed above.