Specification: isscript

isscript Element

Support server-side scripts for scriptlets and inline script expressions, using ${ }syntax.

Syntax

<isscript>
  ...
</isscript>

Purpose

The script expressions are supported everywhere expressions are supported, including in tags and inline.

These are the top-level variables available to scriptlets:

VariableDescriptionSee Also
sessionThe current internal Salesforce B2C Commerce sessiondw.system.Session
requestThe current internal B2C Commerce requestdw.system.Request
pdictThe current Pipeline Dictionarydw.system.PipelineDictionary
outPrintWriter for the HTML pagedw.io.Printwriter

Variables set in the template script context are one of two types with respect to their scope:

VariableScope
Page scopeThese are either well-known variables set by the template at run time or those defined in the scriptlet. Variables of this scope are available, once set, through template execution context and can be referenced from multiple scriptlets or expressions in the template or its local includes.
Tag scopeVariables of this type are defined within certain tags. For example, <isloop... status="safe"/> defines variable safe of type. Tag scoped variables are available, once declared, in the tag context only.

Example

<isscript>
  var user = pdict.User;
  var fullName = user.firstName + " " + user.lastName;
</isscript>

Multiple script snippets in one file share the same execution context:

<isscript>
  var user = pdict.User;
</isscript>
...
<isscript>
  var fullName = user.firstName + " " + user.lastName;
</isscript>
<isprint value="${fullName}" />