Manually establishes a script context when automatic detection is not possible. The body of this tag contains a script.

The script should not be encoded as if in HTML/XML, it must have single "&" instead of "&amp;". The script may contain any characters valid in that language, including <, >, &, \u0000 (null), or any other values.

The script will be properly encoded for the content of this tag. Thus, you may have a script of arbitrary complexity containing arbitrary data within an XHTML onclick attribute, the tags will make sure everything is properly encoded.

The content type of this tag is equal to the type set in the type attribute.

Any attribute that has no namespace and begins with param. is added to the src as a URL parameter. The parameter name is the part of the attribute name following param..

When a parameter value is null it is not added. If the value is an Iterable, Iterator, Enumeration, or array, then each non-null element is coerced to String as a separate parameter in iteration order. Otherwise, the value itself is coerced to String for the parameter value.

Nested <ao:param> or <ao:params> tags will add parameters after any provided as attributes.

Tag Information

Tag Class: com.aoindustries.taglib.ScriptTag
TagExtraInfo Class: com.aoindustries.taglib.ScriptTagTEI
Body Content: scriptless
Display Name: None
Dynamic Attributes: true


Name Required Evaluation Type Description
type No Static Object

Specifies the type of script. The default is text/javascript, also allows application/json and application/ld+json. A nested <ao:type> tag will override this value.

src No Runtime String

The src for the script. The src is modified in several ways to make things much easier to work with.

A nested <ao:src> tag will override this value.

In order to make relative paths predictable, relative paths are interpreted from the current JSP page, as long as all includes have been done via <ao:include> and any forward via <ao:forward>.

In order to keep paths app-relative, if starts with a /, the context path will be prepended to the path.

In order to simplify things behing URL mapping schemes, the src is always written starting with '/'. This avoids any need to include any <ao:base> tags.

URL rewriting is performed as needed via HttpServletResponse.encodeURL.

To support paths in different character sets, URL encoding is performed on every path element up to the last # or ? (first of the two), except for any character in the set {':', '/', ';', '#'}. To avoid ambiguity, any parameters or anchors in the URL must have been correctly encoded by the caller.

Any directly nested <ao:param> or <ao:params> tag will add parameters to the src.

srcAbsolute No Static boolean

When true, generates an absolute URL for the src for the script. Defaults to false.

addLastModified No Static String

If the src represents a local resource, a parameter of "lastModified=#####" may be automatically added with the timestamp of the local resource to the nearest second. May be one of true, false, or auto. Defaults to auto.

In auto mode, last modified stamping may be disabled by the client with the X-com-aoindustries-servlet-http-LastModifiedServlet-lastModified: false header.


No Variables Defined.