Tag Documentation

[tag libraries] [tags]

The following document contains a summary of all the coreJellytag libraries.

Tag Libraries

[tag libraries] [tags]

Library Description
jelly:core

The core Tags from the JSTL

jelly:xml

The XML Tags from the JSTL

jelly:define

Tag library which allows the creation of new tags using Jelly script itself.

jelly:sql

The SQL Tags from the JSTL

There are some examples of these tags in action here

jelly:jsl

The Jelly Stylesheet Library (JSL)

The JSL tag library implements an XSLT-like declarative XML based processing engine which allows dynamic stylesheets and a free mix and match of all Jelly tags within the script.

The JSL tag library relies on the XML tags in JSTL to do most of its work, so JSL just provides the declarative XML processing via < jsl:stylesheet > < jsl:template > and < jsl:applyTemplates >

jelly:ant

A tag library for using Ant tasks within Jelly

Jelly can be invoked inside Ant and this tag library allows Ant tasks to be invoked from inside Jelly. This allows Jelly to be used for more 'scripting' style targets, such as parsing XML databases, working with custom java beans, doing SQL, the use of JSTL and so forth.

jelly:werkz

A tag library for defining targets (goals) and having pre/post dependencies which uses the Werkz library for resolving goals and dependencies.

jelly:jeez

This tag library groups together the ant and werkz tag libraries into one namespace. This allows Maven scripts to set this as the default namespace to avoid folks having to use namespace prefixes for common stuff.

jelly:log

Custom tags for generating textual logging information using commons-logging which will use either log4j, logkit or JDK1.4 logging depending on the classpath and configuration.

jelly:ojb

A variety of tags for working with the ObjectBridge persistence engine

jelly:jms

A tag library for working with JMS using the Messenger project

jelly:validate

A tag library for validating XML using various schema languages like DTD, XML Schema, Relax NG as well as Relax and TREX. This tag library uses the JARV API to perform the validation. By default we use the MSV library by Kohsuke Kawaguchi as the implementation of JARV.

jelly:http

A tag library for working with HTTP, performing HTTP GET, POST and other actions

jelly:interaction

A simple interaction tag library so that Jelly scripts can be interactive.

jelly:antlr

A tag library for working with the Antlr library

jelly:util

A number of utility tags such as for tokenizing Strings.

jelly:html

Tags for parsing HTML so that it can be processed by Jelly using Andy Clark's NeckoHTML

jelly:junit

A collection of JUnit tags for performing unit tests written in Jelly script.

The < suite > tag allows a test suite to be created and then test cases can either be individually ran or the whole suite ran.

The < case > tag allows a single test case to be created as part of a suite.

The < run > tag can be used to run a given Test, TestCase or TestSuite

There is an example of these tags in action here

jelly:swing

A tag library for creating Swing UIs via Jelly script

jelly:quartz

A tag library for scheduling tasks to be run using the Quartz library

jelly:betwixt

A tag library for turning XML into beans or beans into XML using the Betwixt library

jelly:dynabean

A tag library for creating new DynaClass and DynaBean objects from the beanutils library

jelly:core

The core Tags from the JSTL

Tag Name Description
import Imports another script.

By default, the imported script does not have access to the parent script's variable context. This behaviour may be modified using the inherit attribute.

when A tag which conditionally evaluates its body based on some condition
expr A tag which evaluates an expression out
include A tag which conditionally evaluates its body based on some condition
forEach A tag which performs an iteration over the results of an XPath expression
jelly The root Jelly tag which should be evaluated first
new A tag which creates a new object of the given type
otherwise The otherwise block of a choose/when/otherwise group of tags
thread A tag that spwans the contained script in a separate thread
catch A tag which catches exceptions thrown by its body. This allows conditional logic to be performed based on if exceptions are thrown or to do some kind of custom exception logging logic.
choose A tag which conditionally evaluates its body based on some condition
set A tag which sets a variable from the result of an expression
if A tag which conditionally evaluates its body based on some condition
file A tag that pipes its body to a file.
whitespace A simple tag used to preserve whitespace inside its body

jelly:xml

The XML Tags from the JSTL

Tag Name Description
copy A tag which performs a copy operation like the XSLT tag, performing a shallow copy of the element and its attributes but no content.
if Evaluates the XPath expression to be a boolean and only evaluates the body if the expression is true.
element A tag to produce an XML element which can contain other attributes or elements like the < xsl:element > tag.
forEach A tag which performs an iteration over the results of an XPath expression
copyOf A tag which performs a copy-of operation like the XSLT tag
attribute Adds an XML attribute to the parent element tag like the < xsl:attribute > tag.
parse A tag which parses some XML and defines a variable with the parsed Document. The XML can either be specified as its body or can be passed in via the xml property which can be a Reader, InputStream, URL or String URI.
expr A tag which performs a string XPath expression; similar to < xsl:value-of > in XSLT
set A tag which defines a variable from an XPath expression

jelly:define

Tag library which allows the creation of new tags using Jelly script itself.

Tag Name Description
dynaBean Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties..
bean Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties..
script < script > tag is used to assign a Script object to a variable. The script can then be called whenever the user wishes maybe from inside an expression or more typically via the < invoke > tag.
invoke The < invoke > tag will invoke a given Script instance. It can be used with the < script > tag which defines scripts as variables that can later be invoked by this < invoke > tag.
tag < tag > is used to define a new tag using a Jelly script to implement the behaviour of the tag. Parameters can be passed into the new tag using normal XML attribute notations. Inside the body of the tag definition, the attributes can be accessed as normal Jelly variables.
invokeBody < invokeBody > tag is used inside a < tag > tag (i.e. the definition of a dynamic tag) to invoke the tags body when the tag is invoked.
taglib The < taglib > tag is used to define a new tag library using a Jelly script..
classLoader Creates a new URLClassLoader to dynamically load tags froms.
attribute This tag is bound onto a Java Bean class. When the tag is invoked a bean will be created using the tags attributes. The bean may also have an invoke method called invoke(), run(), execute() or some such method which will be invoked after the bean has been configured.
jellyBean Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties. After the body of this tag is invoked then the beans invoke() method will be called, if the bean has one.

jelly:sql

The SQL Tags from the JSTL

There are some examples of these tags in action here

Tag Name Description
transaction

Tag handler for < Transaction > in JSTL.

driver

Tag handler for < Driver > in JSTL, used to create a simple DataSource for prototyping.

query

Tag handler for < Query > in JSTL.

dateParam

Tag handler for < Param > in JSTL, used to set parameter values for a SQL statement.

resultSet This Tag creates a result set object based on its body content via child row tags. This tag is useful for unit testing with Mock Tags to simulate the results returned by databases.
update

Tag handler for < Update > in JSTL.

param

Tag handler for < Param > in JSTL, used to set parameter values for a SQL statement.

row Adds a new row to a parent < resultSet > Tag. This tag is useful for unit testing with Mock Tags to simulate the results returned by databases.
setDataSource

Tag handler for < SetDataSource > in JSTL, used to create a simple DataSource for prototyping.

jelly:jsl

The Jelly Stylesheet Library (JSL)

The JSL tag library implements an XSLT-like declarative XML based processing engine which allows dynamic stylesheets and a free mix and match of all Jelly tags within the script.

The JSL tag library relies on the XML tags in JSTL to do most of its work, so JSL just provides the declarative XML processing via < jsl:stylesheet > < jsl:template > and < jsl:applyTemplates >

Tag Name Description
style This tag performs a JSL stylesheet which was previously created via an < stylesheet > tag.
template This tag represents a declarative matching rule, similar to the template tag in XSLT.
stylesheet This tag implements a JSL stylesheet which is similar to an XSLT stylesheet but can use Jelly tags inside it
applyTemplates Implements the apply templates function in the stylesheet, similar to the XSLT equivalent. a JSP include.

jelly:ant

A tag library for using Ant tasks within Jelly

Jelly can be invoked inside Ant and this tag library allows Ant tasks to be invoked from inside Jelly. This allows Jelly to be used for more 'scripting' style targets, such as parsing XML databases, working with custom java beans, doing SQL, the use of JSTL and so forth.

Tag Name Description
ant Tag supporting ant's Tasks as well as dynamic runtime behaviour for 'unknown' tags.
fileScanner A tag which creates a new FileScanner bean instance that can be used to iterate over fileSets

jelly:werkz

A tag library for defining targets (goals) and having pre/post dependencies which uses the Werkz library for resolving goals and dependencies.

Tag Name Description
attainGoal Attains one or more goals.
goal Implements a < target > tag which is similar to the Ant equivalent tag but is based on the Werkz goal engine.
attain Attains one or more goals.
postGoal Implements a < postGoal > tag which provides a callback which is evaluated after a goal has executed.
preGoal Implements a < preGoal > tag which provides a callback which is evaluated before a goal.
project The root tag of a Project definition.
postAction Implements a < postAction > tag which provides a callback which is evaluated after an action.
preAction Implements a < preAction > tag which provides a callback which is evaluated before an action.

jelly:jeez

This tag library groups together the ant and werkz tag libraries into one namespace. This allows Maven scripts to set this as the default namespace to avoid folks having to use namespace prefixes for common stuff.

Tag Name Description
target Wraps a Werkz < goal > to appear as an ant < target > .
tagDef This tag defines a dynamic tag in Jelly script. When the tag is invoked any attributes will be passed in as variables and the definition of the tag can use < define:invokeBody &gt to invoke its body.

This tag is similar to the < define:tag > tag in the define tag library.

jelly:log

Custom tags for generating textual logging information using commons-logging which will use either log4j, logkit or JDK1.4 logging depending on the classpath and configuration.

Tag Name Description
fatal A tag which generates FATAL level logging statement using the given category name.
info A tag which generates INFO level logging statement using the given category name.
warn A tag which generates WARN level logging statement using the given category name.
trace A tag which generates TRACE level logging statement using the given category name.
debug A tag which generates DEBUG level logging statement using the given category name.
error A tag which generates ERROR level logging statement using the given category name.

jelly:ojb

A variety of tags for working with the ObjectBridge persistence engine

Tag Name Description
broker

Tag handler for < Driver > in JSTL, used to create a simple DataSource for prototyping.

store

This Store tag will store the given object in ObjectBridge using the given broker or it will use the parent broker tags broker instance.

jelly:jms

A tag library for working with JMS using the Messenger project

Tag Name Description
destination Creates a Destination object from a String name.
send Sends a JMS message to some destination.
message A tag which creates a JMS message
connection Defines a JMS connection for use by other JMS tags.
mapMessage Creates a JMS MapMessage
textMessage Creates a JMS TextMessage
property Defines a property on an outer JMS Message tag
objectMessage Creates a JMS ObjectMessage
receive Receives a JMS message.
mapEntry Adds a map entry to the outer Map Message tag

jelly:validate

A tag library for validating XML using various schema languages like DTD, XML Schema, Relax NG as well as Relax and TREX. This tag library uses the JARV API to perform the validation. By default we use the MSV library by Kohsuke Kawaguchi as the implementation of JARV.

Tag Name Description
verifier This tag creates a new Verifier of a schema as a variable so that it can be used by a < validate > tag.
validate This tag validates its body using a schema Verifier which can validate against DTDs, XML Schema, RelaxNG, Relax or TREX. Any JARV compliant Verifier could be used. The error messages are output as XML events so that they can be styled by the parent tag.
assertValid This tag performs an assertion that the tags body contains XML which matches a givem schema validation. This tag is used with JellyUnit to implement an assertion.

jelly:http

A tag library for working with HTTP, performing HTTP GET, POST and other actions

Tag Name Description
delete Performs a HTTP POST request fron a given URL.
post Performs a HTTP POST request fron a given URL.
put Performs a HTTP POST request fron a given URL.
header Defines a header on an outer HTTP tag
get Performs a HTTP GET request fron a given URL.

jelly:interaction

A simple interaction tag library so that Jelly scripts can be interactive.

Tag Name Description
ask Jelly Tag that asks the user a question, and puts his answer into a variable, with the attribute "answer". This variable may be reused further as any other Jelly variable.

jelly:antlr

A tag library for working with the Antlr library

Tag Name Description
antlr
grammar

jelly:util

A number of utility tags such as for tokenizing Strings.

Tag Name Description
tokenize

jelly:html

Tags for parsing HTML so that it can be processed by Jelly using Andy Clark's NeckoHTML

Tag Name Description
parse A tag which parses some HTML and defines a variable with the parsed Document. The HTML can either be specified as its body or can be passed in via the html property which can be a Reader, InputStream, URL or String URI.

jelly:junit

A collection of JUnit tags for performing unit tests written in Jelly script.

The < suite > tag allows a test suite to be created and then test cases can either be individually ran or the whole suite ran.

The < case > tag allows a single test case to be created as part of a suite.

The < run > tag can be used to run a given Test, TestCase or TestSuite

There is an example of these tags in action here

Tag Name Description
suite Represents a collection of TestCases.. This tag is analagous to JUnit's TestSuite class.
run This tag will run the given Test which could be an individual TestCase or a TestSuite. The TestResult can be specified to capture the output, otherwise the results are output as XML so that they can be formatted in some custom manner.
fail This tag causes a failure message. The message can either be specified in the tags body or via the message attribute.
case Represents a single test case in a test suite; this tag is analagous to JUnit's TestCase class.
assert Performs an assertion that a given boolean expression, or XPath expression is true. If the expression returns false then this test fails.
assertEquals Compares an actual object against an expected object and if they are different then the test will fail.

jelly:swing

A tag library for creating Swing UIs via Jelly script

Tag Name Description
component This tag creates a Swing component and adds it to its parent tag, optionally declaring this component as a variable if the var attribute is specified.
action Creates a Swing Action and attaches it to the parent component. The This tag creates a Swing component and adds it to its parent tag, optionally declaring this component as a variable if the var attribute is specified.
windowListener Creates a WindowListener which is attached to its parent window control which will invoke named Jelly scripts as window events are fired, or will invoke its body if there is no script specified for the named event type.

jelly:quartz

A tag library for scheduling tasks to be run using the Quartz library

Tag Name Description
cronTrigger Define a trigger using a cron time spec.
waitForScheduler Block and wait for the Quartz scheduler to shutdown.
job Defines a schedulable job.

jelly:betwixt

A tag library for turning XML into beans or beans into XML using the Betwixt library

Tag Name Description
parse Parses some XML specified via the given URI (which can be relative or an absolute URL) and outputs the parsed object. Typically this tag is customized by setting the introspector attribute or nesting a child introspector tag inside it.
introspector Creates a Betwixt XMLIntrospector instance that can be used by the other Betwixt tags.

jelly:dynabean

A tag library for creating new DynaClass and DynaBean objects from the beanutils library

Tag Name Description
property DynaProperty tag defines a property of a DynaClass It can only exist inside a DynaClass parent context The properties are added to the properties array of the parent context, and will be used to create the DynaClass object
set A tag which sets a variable from the result of an expression
dynaclass A tag which creates and defines and creates a DynaClass The DynaClass object is placed by name in the context, so that a DynaBean tag can use it by name to instantiate a DynaBean object
dynabean A tag which conditionally evaluates its body based on some condition

Tags

[tag libraries] [tags]

core:import

Imports another script.

By default, the imported script does not have access to the parent script's variable context. This behaviour may be modified using the inherit attribute.

Attribute Name Type Description
inherit boolean Sets whether property inheritence is enabled or disabled
uri java.lang.String Sets the URI (relative URI or absolute URL) for the script to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:when

A tag which conditionally evaluates its body based on some condition

Attribute Name Type Description
test org.apache.commons.jelly.expression.Expression Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:expr

A tag which evaluates an expression out

Attribute Name Type Description
value org.apache.commons.jelly.expression.Expression Sets the Jexl expression to evaluate. true
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:include

A tag which conditionally evaluates its body based on some condition

Attribute Name Type Description
inherit java.lang.String
export java.lang.String
uri java.lang.String Sets the URI (relative URI or absolute URL) for the script to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:forEach

A tag which performs an iteration over the results of an XPath expression

Attribute Name Type Description
items org.apache.commons.jelly.expression.Expression Sets the expression used to iterate over
var java.lang.String Sets the variable name to export for the item being iterated over
indexVar java.lang.String Sets the variable name to export the current index counter to
begin int Sets the starting index value
end int Sets the ending index value
step int Sets the index increment step
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:jelly

The root Jelly tag which should be evaluated first

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:new

A tag which creates a new object of the given type

Attribute Name Type Description
var java.lang.String Sets the name of the variable exported by this tag
className java.lang.String Sets the class name of the object to instantiate
classLoader java.lang.ClassLoader Set the class loader to be used for instantiating application objects when required. classLoader The new class loader to use, or <code>null</code> to revert to the standard rules
useContextClassLoader boolean Determine whether to use the Context ClassLoader (the one found by calling Thread.currentThread().getContextClassLoader() ) to resolve/load classes. If not using Context ClassLoader, then the class-loading defaults to using the calling-class' ClassLoader. boolean determines whether to use JellyContext ClassLoader.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:otherwise

The otherwise block of a choose/when/otherwise group of tags

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:thread

A tag that spwans the contained script in a separate thread

Attribute Name Type Description
name java.lang.String Sets the name of the thread. name The name to set
xmlOutput org.apache.commons.jelly.XMLOutput Sets the destination of output
file java.lang.String Set the file which is generated from the output name The output file name
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:catch

A tag which catches exceptions thrown by its body. This allows conditional logic to be performed based on if exceptions are thrown or to do some kind of custom exception logging logic.

Attribute Name Type Description
var java.lang.String Sets the name of the variable which is exposed with the Exception that gets thrown by evaluating the body of this tag or which is set to null if there is no exception thrown.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:choose

A tag which conditionally evaluates its body based on some condition

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:set

A tag which sets a variable from the result of an expression

Attribute Name Type Description
var java.lang.String Sets the variable name to define for this expression
scope java.lang.String Sets the variable scope for this variable. For example setting this value to 'parent' will set this value in the parent scope. When Jelly is run from inside a Servlet environment then other scopes will be available such as 'request', 'session' or 'application'. Other applications may implement their own custom scopes.
value org.apache.commons.jelly.expression.Expression Sets the expression to evaluate.
target java.lang.Object Sets the target object on which to set a property.
property java.lang.String Sets the name of the property to set on the target object.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:if

A tag which conditionally evaluates its body based on some condition

Attribute Name Type Description
test org.apache.commons.jelly.expression.Expression Sets the Jelly expression to evaluate. If this returns true, the body of the tag is evaluated test the Jelly expression to evaluate
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:file

A tag that pipes its body to a file.

Attribute Name Type Description
name java.lang.String Sets the file name for the output
omitXmlDeclaration boolean Sets whether the XML declaration should be output or not
outputMode java.lang.String Sets the output mode, whether XML or HTML
prettyPrint boolean Sets whether pretty printing mode is turned on. The default is off so that whitespace is preserved
encoding java.lang.String Sets the XML encoding mode, which defaults to UTF-8
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

core:whitespace

A simple tag used to preserve whitespace inside its body

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:copy

A tag which performs a copy operation like the XSLT tag, performing a shallow copy of the element and its attributes but no content.

Attribute Name Type Description
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:if

Evaluates the XPath expression to be a boolean and only evaluates the body if the expression is true.

Attribute Name Type Description
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:element

A tag to produce an XML element which can contain other attributes or elements like the < xsl:element > tag.

Attribute Name Type Description
name java.lang.String Sets the qualified name of the element
URI java.lang.String Sets the namespace URI of the element
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:forEach

A tag which performs an iteration over the results of an XPath expression

Attribute Name Type Description
select org.jaxen.XPath Sets the XPath selection expression
var java.lang.String Sets the variable name to export for the item being iterated over
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:copyOf

A tag which performs a copy-of operation like the XSLT tag

Attribute Name Type Description
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:attribute

Adds an XML attribute to the parent element tag like the < xsl:attribute > tag.

Attribute Name Type Description
name java.lang.String Sets the name of the attribute
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:parse

A tag which parses some XML and defines a variable with the parsed Document. The XML can either be specified as its body or can be passed in via the xml property which can be a Reader, InputStream, URL or String URI.

Attribute Name Type Description
xml java.lang.Object Sets the source of the XML which is either a String URI, Reader or InputStream
validate boolean Sets whether XML validation is enabled or disabled
var java.lang.String Sets the variable name that will be used for the Document variable created
SAXReader org.dom4j.io.SAXReader Sets the SAXReader used for parsing
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:expr

A tag which performs a string XPath expression; similar to < xsl:value-of > in XSLT

Attribute Name Type Description
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

xml:set

A tag which defines a variable from an XPath expression

Attribute Name Type Description
var java.lang.String Sets the variable name to define for this expression
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:dynaBean

Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties..

Attribute Name Type Description
name java.lang.String Sets the name of the tag to create
varAttribute java.lang.String Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as. This defaults to 'var' though this property can be used to change this if it conflicts with a bean property called 'var'.
dynaClass org.apache.commons.beanutils.DynaClass Sets the {@link DynaClass} which will be bound to this dynamic tag.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:bean

Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties..

Attribute Name Type Description
name java.lang.String Sets the name of the tag to create
className java.lang.String Sets the Java class name to use for the tag
classLoader java.lang.ClassLoader Sets the ClassLoader to use to load the class. If no value is set then the current threads context class loader is used.
varAttribute java.lang.String Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as. This defaults to 'var' though this property can be used to change this if it conflicts with a bean property called 'var'.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:script

< script > tag is used to assign a Script object to a variable. The script can then be called whenever the user wishes maybe from inside an expression or more typically via the < invoke > tag.

Attribute Name Type Description
var java.lang.String Sets the variable name of the tag to create
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:invoke

The < invoke > tag will invoke a given Script instance. It can be used with the < script > tag which defines scripts as variables that can later be invoked by this < invoke > tag.

Attribute Name Type Description
script org.apache.commons.jelly.Script Sets the Script to be invoked by this tag, which typically has been previously defined by the use of the < script > tag.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:tag

< tag > is used to define a new tag using a Jelly script to implement the behaviour of the tag. Parameters can be passed into the new tag using normal XML attribute notations. Inside the body of the tag definition, the attributes can be accessed as normal Jelly variables.

Attribute Name Type Description
name java.lang.String Sets the name of the tag to create
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:invokeBody

< invokeBody > tag is used inside a < tag > tag (i.e. the definition of a dynamic tag) to invoke the tags body when the tag is invoked.

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:taglib

The < taglib > tag is used to define a new tag library using a Jelly script..

Attribute Name Type Description
uri java.lang.String Sets the namespace URI to register this new dynamic tag library with
inherit boolean Sets whether this dynamic tag should inherit from the current existing tag library of the same URI. This feature is enabled by default so that tags can easily be some tags can be overridden in an existing library, such as when making Mock Tags. You can disable this option if you want to disable any tags in the base library, turning them into just normal static XML. inherit The inherit to set
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:classLoader

Creates a new URLClassLoader to dynamically load tags froms.

Attribute Name Type Description
var java.lang.String var the variable to store the class loader in
url java.lang.String url the url to load the classes from
name java.lang.String Sets the name of the tag to create
className java.lang.String Sets the Java class name to use for the tag
classLoader java.lang.ClassLoader Sets the ClassLoader to use to load the class. If no value is set then the current threads context class loader is used.
varAttribute java.lang.String Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as. This defaults to 'var' though this property can be used to change this if it conflicts with a bean property called 'var'.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:attribute

This tag is bound onto a Java Bean class. When the tag is invoked a bean will be created using the tags attributes. The bean may also have an invoke method called invoke(), run(), execute() or some such method which will be invoked after the bean has been configured.

Attribute Name Type Description
name java.lang.String Sets the name of the attribute
required boolean Sets whether this attribute is mandatory or not
defaultValue org.apache.commons.jelly.expression.Expression Sets the default value of this attribute
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

define:jellyBean

Binds a Java bean to the given named Jelly tag so that the attributes of the tag set the bean properties. After the body of this tag is invoked then the beans invoke() method will be called, if the bean has one.

Attribute Name Type Description
method java.lang.String Sets the name of the method to invoke on the bean. This defaults to "run" so that Runnable objects can be invoked, but this property can be set to whatever is required, such as "execute" or "invoke"
name java.lang.String Sets the name of the tag to create
className java.lang.String Sets the Java class name to use for the tag
classLoader java.lang.ClassLoader Sets the ClassLoader to use to load the class. If no value is set then the current threads context class loader is used.
varAttribute java.lang.String Sets the name of the attribute used to define the bean variable that this dynamic tag will output its results as. This defaults to 'var' though this property can be used to change this if it conflicts with a bean property called 'var'.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:transaction

Tag handler for < Transaction > in JSTL.

Attribute Name Type Description
dataSource java.lang.Object Sets the SQL DataSource. DataSource can be a String or a DataSource object.
isolation java.lang.String Sets the transaction isolation level.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:driver

Tag handler for < Driver > in JSTL, used to create a simple DataSource for prototyping.

Attribute Name Type Description
driver java.lang.String
jdbcURL java.lang.String
scope java.lang.String Sets the scope of the variable to hold the result.
userName java.lang.String
var java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:query

Tag handler for < Query > in JSTL.

Attribute Name Type Description
startRow int The index of the first row returned can be specified using startRow.
maxRows int Query result can be limited by specifying the maximum number of rows returned.
var java.lang.String Sets the name of the variable to hold the result.
scope java.lang.String Sets the scope of the variable to hold the result.
dataSource java.lang.Object Sets the SQL DataSource. DataSource can be a String or a DataSource object.
sql java.lang.String Sets the SQL statement to use for the query. The statement may contain parameter markers (question marks, ?). If so, the parameter values must be set using nested value elements.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:dateParam

Tag handler for < Param > in JSTL, used to set parameter values for a SQL statement.

Attribute Name Type Description
value java.sql.Date
type java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:resultSet

This Tag creates a result set object based on its body content via child row tags. This tag is useful for unit testing with Mock Tags to simulate the results returned by databases.

Attribute Name Type Description
var java.lang.String Sets the variable to export the result set to.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:update

Tag handler for < Update > in JSTL.

Attribute Name Type Description
var java.lang.String Sets the name of the variable to hold the result.
scope java.lang.String Sets the scope of the variable to hold the result.
dataSource java.lang.Object Sets the SQL DataSource. DataSource can be a String or a DataSource object.
sql java.lang.String Sets the SQL statement to use for the query. The statement may contain parameter markers (question marks, ?). If so, the parameter values must be set using nested value elements.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:param

Tag handler for < Param > in JSTL, used to set parameter values for a SQL statement.

Attribute Name Type Description
value java.lang.Object
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:row

Adds a new row to a parent < resultSet > Tag. This tag is useful for unit testing with Mock Tags to simulate the results returned by databases.

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

sql:setDataSource

Tag handler for < SetDataSource > in JSTL, used to create a simple DataSource for prototyping.

Attribute Name Type Description
scope java.lang.String Sets the scope of the variable to hold the result.
var java.lang.String
dataSource java.lang.Object
driver java.lang.String
url java.lang.String
user java.lang.String
password java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jsl:style

This tag performs a JSL stylesheet which was previously created via an < stylesheet > tag.

Attribute Name Type Description
stylesheet org.dom4j.rule.Stylesheet Sets the stylesheet to use to style this tags body
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jsl:template

This tag represents a declarative matching rule, similar to the template tag in XSLT.

Attribute Name Type Description
match org.dom4j.rule.Pattern
priority double Sets the priority. priority New value of property priority.
name java.lang.String Sets the name. name New value of property name.
mode java.lang.String Sets the mode. mode New value of property mode.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jsl:stylesheet

This tag implements a JSL stylesheet which is similar to an XSLT stylesheet but can use Jelly tags inside it

Attribute Name Type Description
mode java.lang.String Sets the mode. mode New value of property mode.
var java.lang.String Sets the variable name to define for this expression
select org.jaxen.XPath Sets the XPath expression to evaluate.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jsl:applyTemplates

Implements the apply templates function in the stylesheet, similar to the XSLT equivalent. a JSP include.

Attribute Name Type Description
select org.jaxen.XPath
mode java.lang.String Sets the mode. mode New value of property mode.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

ant:ant

Tag supporting ant's Tasks as well as dynamic runtime behaviour for 'unknown' tags.

Attribute Name Type Description
object java.lang.Object Set the object underlying this tag. object The object.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

ant:fileScanner

A tag which creates a new FileScanner bean instance that can be used to iterate over fileSets

Attribute Name Type Description
var java.lang.String Sets the name of the variable exported by this tag
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:attainGoal

Attains one or more goals.

Attribute Name Type Description
name java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:goal

Implements a < target > tag which is similar to the Ant equivalent tag but is based on the Werkz goal engine.

Attribute Name Type Description
name java.lang.String Sets the name of the target
prereqs java.lang.String
description java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:attain

Attains one or more goals.

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:postGoal

Implements a < postGoal > tag which provides a callback which is evaluated after a goal has executed.

Attribute Name Type Description
name java.lang.String Sets the name of the target
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:preGoal

Implements a < preGoal > tag which provides a callback which is evaluated before a goal.

Attribute Name Type Description
name java.lang.String Sets the name of the target
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:project

The root tag of a Project definition.

Attribute Name Type Description
default java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:postAction

Implements a < postAction > tag which provides a callback which is evaluated after an action.

Attribute Name Type Description
name java.lang.String Sets the name of the target
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

werkz:preAction

Implements a < preAction > tag which provides a callback which is evaluated before an action.

Attribute Name Type Description
name java.lang.String Sets the name of the target
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jeez:target

Wraps a Werkz < goal > to appear as an ant < target > .

Attribute Name Type Description
depends java.lang.String
name java.lang.String Sets the name of the target
prereqs java.lang.String
description java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jeez:tagDef

This tag defines a dynamic tag in Jelly script. When the tag is invoked any attributes will be passed in as variables and the definition of the tag can use < define:invokeBody &gt to invoke its body.

This tag is similar to the < define:tag > tag in the define tag library.

Attribute Name Type Description
name java.lang.String Sets the name of the tag to create
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:fatal

A tag which generates FATAL level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:info

A tag which generates INFO level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:warn

A tag which generates WARN level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:trace

A tag which generates TRACE level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:debug

A tag which generates DEBUG level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

log:error

A tag which generates ERROR level logging statement using the given category name.

Attribute Name Type Description
name java.lang.String Sets the name of the logger to use
log org.apache.commons.logging.Log Sets the Log instance to use for logging.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

ojb:broker

Tag handler for < Driver > in JSTL, used to create a simple DataSource for prototyping.

Attribute Name Type Description
var java.lang.String Sets the variable name to define for this expression
broker ojb.broker.PersistenceBroker Sets the persistence broker instance
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

ojb:store

This Store tag will store the given object in ObjectBridge using the given broker or it will use the parent broker tags broker instance.

Attribute Name Type Description
value java.lang.Object Sets the value to be persisted
broker ojb.broker.PersistenceBroker Sets the persistence broker instance
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:destination

Creates a Destination object from a String name.

Attribute Name Type Description
name java.lang.String Sets the name of the Destination
var java.lang.String Sets the variable name to use for the Destination
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:send

Sends a JMS message to some destination.

Attribute Name Type Description
message javax.jms.Message Sets the JMS message to be sent
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
destination javax.jms.Destination Sets the JMS destination to be used by this tag
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:message

A tag which creates a JMS message

Attribute Name Type Description
var java.lang.String Sets the name of the variable that the message will be exported to
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
correlationID java.lang.String Sets the JMS Correlation ID to be used on the message
replyTo javax.jms.Destination Sets the reply-to destination to add to the message
type java.lang.String Sets the type name of the message
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:connection

Defines a JMS connection for use by other JMS tags.

Attribute Name Type Description
name java.lang.String Sets the name of the Messenger (JMS connection pool) to use
var java.lang.String Sets the variable name to use for the exported Messenger (JMS connection pool)
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:mapMessage

Creates a JMS MapMessage

Attribute Name Type Description
map java.util.Map Sets the Map of entries to be used for this Map Message
var java.lang.String Sets the name of the variable that the message will be exported to
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
correlationID java.lang.String Sets the JMS Correlation ID to be used on the message
replyTo javax.jms.Destination Sets the reply-to destination to add to the message
type java.lang.String Sets the type name of the message
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:textMessage

Creates a JMS TextMessage

Attribute Name Type Description
text java.lang.String Sets the body of the message, a String. If this value is not set or the value is null then the content of the tag will be used instead.
var java.lang.String Sets the name of the variable that the message will be exported to
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
correlationID java.lang.String Sets the JMS Correlation ID to be used on the message
replyTo javax.jms.Destination Sets the reply-to destination to add to the message
type java.lang.String Sets the type name of the message
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:property

Defines a property on an outer JMS Message tag

Attribute Name Type Description
name java.lang.String Sets the name of the JMS property
value java.lang.Object Sets the value of the JMS property. If no value is set then the body of the tag is used
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:objectMessage

Creates a JMS ObjectMessage

Attribute Name Type Description
object java.io.Serializable Sets the body of the message, a serializable java object. If this value is not set or the value is null then the content of the tag will be used instead.
var java.lang.String Sets the name of the variable that the message will be exported to
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
correlationID java.lang.String Sets the JMS Correlation ID to be used on the message
replyTo javax.jms.Destination Sets the reply-to destination to add to the message
type java.lang.String Sets the type name of the message
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:receive

Receives a JMS message.

Attribute Name Type Description
var java.lang.String Sets the variable name to create for the received message, which will be null if no message could be returned in the given time period.
timeout long Sets the timeout period in milliseconds to wait for a message. A value of -1 will wait forever for a message.
connection org.apache.commons.messenger.Messenger Sets the Messenger (the JMS connection pool) that will be used to send the message
destination javax.jms.Destination Sets the JMS destination to be used by this tag
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

jms:mapEntry

Adds a map entry to the outer Map Message tag

Attribute Name Type Description
name java.lang.String Sets the name of the entry in the map message
value java.lang.Object Sets the value of the entry in the map message. If no value is set then the body of the tag is used
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

validate:verifier

This tag creates a new Verifier of a schema as a variable so that it can be used by a < validate > tag.

Attribute Name Type Description
var java.lang.String Sets the name of the variable that will be set to the new Verifier
uri java.lang.String Sets the URI of the schema file to parse. If no URI is specified then the body of this tag is used as the source of the schema
systemId java.lang.String Sets the system ID used when parsing the schema
factory org.iso_relax.verifier.VerifierFactory Sets the factory used to create new schema verifier objects. If none is provided then the default MSV factory is used.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

validate:validate

This tag validates its body using a schema Verifier which can validate against DTDs, XML Schema, RelaxNG, Relax or TREX. Any JARV compliant Verifier could be used. The error messages are output as XML events so that they can be styled by the parent tag.

Attribute Name Type Description
verifier org.iso_relax.verifier.Verifier Sets the schema Verifier that this tag will use to verify its body
errorHandler org.xml.sax.ErrorHandler Sets the SAX ErrorHandler which is used to capture XML validation events. If an ErrorHandler is specified then this tag will output its body and redirect all error messages to the ErrorHandler. If no ErrorHandler is specified then this tag will just output the error messages as XML events
var java.lang.String Sets the name of the variable that will contain a boolean flag for whether or not the XML is valid.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

validate:assertValid

This tag performs an assertion that the tags body contains XML which matches a givem schema validation. This tag is used with JellyUnit to implement an assertion.

Attribute Name Type Description
verifier org.iso_relax.verifier.Verifier Sets the schema Verifier that this tag will use to verify its body
errorHandler org.xml.sax.ErrorHandler Sets the SAX ErrorHandler which is used to capture XML validation events. If an ErrorHandler is specified then this tag will output its body and redirect all error messages to the ErrorHandler. If no ErrorHandler is specified then this tag will just output the error messages as XML events
var java.lang.String Sets the name of the variable that will contain a boolean flag for whether or not the XML is valid.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

http:delete

Performs a HTTP POST request fron a given URL.

Attribute Name Type Description
connection org.apache.commons.httpclient.HttpConnection Sets the HTTP connection used to perform the HTTP operation
connectionManager org.apache.commons.httpclient.HttpConnectionManager Sets the HTTP connection factory used to create HTTP connections
var java.lang.String Sets the variable name for the HttpMethod object
url java.lang.String Sets the URL of this request
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

http:post

Performs a HTTP POST request fron a given URL.

Attribute Name Type Description
connection org.apache.commons.httpclient.HttpConnection Sets the HTTP connection used to perform the HTTP operation
connectionManager org.apache.commons.httpclient.HttpConnectionManager Sets the HTTP connection factory used to create HTTP connections
var java.lang.String Sets the variable name for the HttpMethod object
url java.lang.String Sets the URL of this request
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

http:put

Performs a HTTP POST request fron a given URL.

Attribute Name Type Description
connection org.apache.commons.httpclient.HttpConnection Sets the HTTP connection used to perform the HTTP operation
connectionManager org.apache.commons.httpclient.HttpConnectionManager Sets the HTTP connection factory used to create HTTP connections
var java.lang.String Sets the variable name for the HttpMethod object
url java.lang.String Sets the URL of this request
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

http:header

Defines a header on an outer HTTP tag

Attribute Name Type Description
name java.lang.String Sets the name of the JMS property
value java.lang.Object Sets the value of the JMS property. If no value is set then the body of the tag is used
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

http:get

Performs a HTTP GET request fron a given URL.

Attribute Name Type Description
connection org.apache.commons.httpclient.HttpConnection Sets the HTTP connection used to perform the HTTP operation
connectionManager org.apache.commons.httpclient.HttpConnectionManager Sets the HTTP connection factory used to create HTTP connections
var java.lang.String Sets the variable name for the HttpMethod object
url java.lang.String Sets the URL of this request
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

interaction:ask

Jelly Tag that asks the user a question, and puts his answer into a variable, with the attribute "answer". This variable may be reused further as any other Jelly variable.

Attribute Name Type Description
question java.lang.String Sets the question to ask to the user. If a "default" attribute is present, it will appear inside []. question The question to ask to the user
answer java.lang.String Sets the name of the variable that will hold the answer This defaults to "interact.answer". answer the name of the variable that will hold the answer
default java.lang.String Sets the default answer to the question. If it is present, it will appear inside []. default the default answer to the question
prompt java.lang.String Sets the prompt that will be displayed before the user's input. promt the prompt that will be displayed before the user's input.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

antlr:antlr

Attribute Name Type Description
outputDir java.io.File
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

antlr:grammar

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

util:tokenize

Attribute Name Type Description
var java.lang.String
delim java.lang.String
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

html:parse

A tag which parses some HTML and defines a variable with the parsed Document. The HTML can either be specified as its body or can be passed in via the html property which can be a Reader, InputStream, URL or String URI.

Attribute Name Type Description
html java.lang.Object Sets the source of the HTML which is either a String URI, Reader or InputStream
var java.lang.String Sets the variable name that will be used for the Document variable created
SAXReader org.dom4j.io.SAXReader Sets the SAXReader used for parsing
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:suite

Represents a collection of TestCases.. This tag is analagous to JUnit's TestSuite class.

Attribute Name Type Description
var java.lang.String Sets the name of the test suite whichi is exported
name java.lang.String Sets the name of this test suite
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:run

This tag will run the given Test which could be an individual TestCase or a TestSuite. The TestResult can be specified to capture the output, otherwise the results are output as XML so that they can be formatted in some custom manner.

Attribute Name Type Description
result junit.framework.TestResult Sets the JUnit TestResult used to capture the results of the tst result The TestResult to use
test junit.framework.Test Sets the JUnit Test to run which could be an individual test or a TestSuite test The test to run
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:fail

This tag causes a failure message. The message can either be specified in the tags body or via the message attribute.

Attribute Name Type Description
message java.lang.String Sets the failure message. If this attribute is not specified then the body of this tag will be used instead.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:case

Represents a single test case in a test suite; this tag is analagous to JUnit's TestCase class.

Attribute Name Type Description
name java.lang.String Sets the name of this test case
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:assert

Performs an assertion that a given boolean expression, or XPath expression is true. If the expression returns false then this test fails.

Attribute Name Type Description
test org.apache.commons.jelly.expression.Expression Sets the boolean expression to evaluate. If this expression returns true then the test succeeds otherwise if it returns false then the text will fail with the content of the tag being the error message.
xpath org.jaxen.XPath Sets the boolean XPath expression to evaluate. If this expression returns true then the test succeeds otherwise if it returns false then the text will fail with the content of the tag being the error message.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

junit:assertEquals

Compares an actual object against an expected object and if they are different then the test will fail.

Attribute Name Type Description
actual java.lang.Object Sets the actual value which will be compared against the expected value.
expected java.lang.Object Sets the expected value to be tested against
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

swing:component

This tag creates a Swing component and adds it to its parent tag, optionally declaring this component as a variable if the var attribute is specified.

Attribute Name Type Description
action javax.swing.Action Sets the Action of this component
dynaBean org.apache.commons.beanutils.DynaBean Sets the DynaBean which is used to store the attributes of this tag
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

swing:action

Creates a Swing Action and attaches it to the parent component. The This tag creates a Swing component and adds it to its parent tag, optionally declaring this component as a variable if the var attribute is specified.

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

swing:windowListener

Creates a WindowListener which is attached to its parent window control which will invoke named Jelly scripts as window events are fired, or will invoke its body if there is no script specified for the named event type.

Attribute Name Type Description
var java.lang.String Sets the name of the variable to use to expose the Event object
activated org.apache.commons.jelly.Script Sets the Script to be executed when the window is activated.
closed org.apache.commons.jelly.Script Sets the Script to be executed when the window is closed.
closing org.apache.commons.jelly.Script Sets the Script to be executed when the window is closing.
deactivated org.apache.commons.jelly.Script Sets the Script to be executed when the window is deactivated.
deiconified org.apache.commons.jelly.Script Sets the Script to be executed when the window is deiconified.
iconified org.apache.commons.jelly.Script Sets the Script to be executed when the window is iconified.
opened org.apache.commons.jelly.Script Sets the Script to be executed when the window is opened.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

quartz:cronTrigger

Define a trigger using a cron time spec.

Attribute Name Type Description
name java.lang.String Set the name. name.
group java.lang.String Set the group group The group
spec java.lang.String Set the cron time spec. spec The cron time spec.
jobName java.lang.String Set the job name. jobName The job name.
jobGroup java.lang.String Set the job group. jobGroup The job group.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

quartz:waitForScheduler

Block and wait for the Quartz scheduler to shutdown.

Attribute Name Type Description
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

quartz:job

Defines a schedulable job.

Attribute Name Type Description
name java.lang.String Set the name of this job. name The name of this job.
group java.lang.String Set the group of this job. group The group of this job.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

betwixt:parse

Parses some XML specified via the given URI (which can be relative or an absolute URL) and outputs the parsed object. Typically this tag is customized by setting the introspector attribute or nesting a child introspector tag inside it.

Attribute Name Type Description
introspector org.apache.commons.betwixt.XMLIntrospector Sets the Betwixt XMLIntrospector instance used to define the metadata for how a bean should appear as XML.
uri java.lang.String Sets the URI from which XML is parsed. This can be relative to this Jelly script, use an absolute URI or a full URL
var java.lang.String Sets the variable name to output with the result of the XML parse.
rootClass java.lang.String Sets the name of the root class to use for parsing the XML
path java.lang.String Sets the path that the root class should be bound to. This is optional and often unnecessary though can be used to ignore some wrapping elements, such as the < rss > element in the RSS unit test.
useContextClassLoader boolean Sets whether or not the current threads's context class loader should be used to load the bean classes or not. This can be useful if running inside a web application or inside some application server.
classLoader java.lang.ClassLoader Sets the ClassLoader to be used to load bean classes from. If this is not specified then either the ClassLoader used to load this tag library is used or, if the 'useContextClassLoader' property is true, then the current threads context class loader is used instead.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

betwixt:introspector

Creates a Betwixt XMLIntrospector instance that can be used by the other Betwixt tags.

Attribute Name Type Description
attributesForPrimitives boolean Sets whether attributes or elements should be used for primitive types. The default is false.
elementNameMapper org.apache.commons.betwixt.strategy.NameMapper Sets the name mapper used for element names. You can also use the Strings 'lowercase', 'uppercase' or 'hyphenated' as aliases to the common name mapping strategies or specify a class name String.
attributeNameMapper org.apache.commons.betwixt.strategy.NameMapper Sets the name mapper used for attribute names. You can also use the Strings 'lowercase', 'uppercase' or 'hyphenated' as aliases to the common name mapping strategies or specify a class name String.
var java.lang.String Sets the variable name to output the new XMLIntrospector to. If this attribute is not specified then this tag must be nested inside an < parse > or < output > tag
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

dynabean:property

DynaProperty tag defines a property of a DynaClass It can only exist inside a DynaClass parent context The properties are added to the properties array of the parent context, and will be used to create the DynaClass object

Attribute Name Type Description
name java.lang.String Sets the name of this property
type java.lang.String Sets the type name of this property
propertyClass java.lang.Class Sets the Class instance for this property
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

dynabean:set

A tag which sets a variable from the result of an expression

Attribute Name Type Description
var java.lang.String Sets the variable name to define for this expression
scope java.lang.String Sets the variable scope for this variable. For example setting this value to 'parent' will set this value in the parent scope. When Jelly is run from inside a Servlet environment then other scopes will be available such as 'request', 'session' or 'application'. Other applications may implement their own custom scopes.
value org.apache.commons.jelly.expression.Expression Sets the expression to evaluate.
target java.lang.Object Sets the target object on which to set a property.
property java.lang.String Sets the name of the property to set on the target object.
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

dynabean:dynaclass

A tag which creates and defines and creates a DynaClass The DynaClass object is placed by name in the context, so that a DynaBean tag can use it by name to instantiate a DynaBean object

Attribute Name Type Description
name java.lang.String Sets the name of the new DynaClass
var java.lang.String Sets the name of the variable to export the DynaClass instance
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed

dynabean:dynabean

A tag which conditionally evaluates its body based on some condition

Attribute Name Type Description
dynaclass org.apache.commons.beanutils.DynaClass Sets the DynaClass of the new instance to create
var java.lang.String Sets the name of the variable to export the new DynaBean instance to
trim boolean Sets whether whitespace inside this tag should be trimmed or not. Defaults to true so whitespace is trimmed