How stream processing of JSP tags works |
Bill Stream processing is the runtime conversion and evaluation that Process Commander performs to convert an HTML or XML text containing JavaServer Page (JSP) tags into a final form.
Stream processing supports three capabilities:
The inputs to stream processing are:
Stream processing evaluates JSP tags — for example the <pega:reference > tag for property values, and the <pega:include> tag which incorporates HTML or XML text from another rule — as it encounters them in the original source HTML. If the result of a tag contains more tags, they are processed as well, in a depth-first way.
JSP tags provide great power and flexibility. In addition to property value text and HTML text substitution, JSP tags can:
The output of stream processing is a well-formed HTML or XML document, containing no tags or directives.
Stream processing first assembles runtime Java, evaluating those tags or directives (such as the <pega:include> tag) that don't involve the clipboard contents.
Next it compiles the Java, and finally it executes the Java to resolve clipboard references and produce the final HTML (or XML). For user interface rules, the HTML is sent to the Web server then to the user's browser.
Your stream rules can reference JSP tags in the text other than the Process Commander tags, if the tags are in an external taglib JAR file.
A stream may contain a Java scriptlet — inline code bracketed by the <% and %> delimiters. This is an advanced capability to be used carefully.
Stream processing operates only on relative addresses. Fully qualified links are not altered, as in:
<a src="http://www.google.com" >Google</a>
The rule classes that use stream processing are subclasses of the standard abstract class named Rule-Stream.
The JSP tags provided by Process Commander follow the JSTL standard, defined by Java Community Process JSR-52.