Writes the value with proper escaping based on the context of the tag. Supports data types beyond <c:out>.

In addition to the usual set of coercions expected for <c:out>, also supports writing XML nodes such as for HTML snippets.

The content type depends on the value provided to the type attribute, and defaults to text/plain. The content is checked for well-formedness based on its type:

  • css or text/css - must be well-formed CSS content. (Note: Currently only checks character values.)
  • javascript, application/javascript, or text/javascript - no validation
  • json or application/json - no validation
  • ld_json or application/ld+json - no validation
  • text or text/plain - no validation
  • url or text/url - must be a valid URL
  • xhtml or application/xhtml+xml - must be well-formed XHTML content. (Note: Currently only checks character values.)
  • xhtml_attribute or application/xhtml+xml+attribute - must be a valid XHTML attribute.
  • mysql or text/x+mysql - must be valid MySQL command "mysql" input
  • psql or text/x+psql - must be valid PostgreSQL command "psql" input
  • sh or text/x+sh - must be valid shell script

This is compatible with <encoding:out>, with the addition of allowing nested <ao:value> and <ao:type> tags.

Tag Information

Tag Class: com.aoapps.taglib.OutTag
TagExtraInfo Class: com.aoapps.encoding.taglib.OutTagTEI
Body Content: scriptless
Display Name: None


Name Required Evaluation Type Description
value No Runtime Object

The value to be written. A nested <ao:value> tag will override this value.

default No Deferred-Value Object

The default value if the resulting value is null.

type No Runtime Object

Specifies the type of content contained in the value. Defaults to text/plain. A nested <ao:type> tag will override this value.


No Variables Defined.