WebObjects' own dynamic elements, as of WebObjects 5.4.3. Several are patched or replaced in a wonder-slim application; see the wonder-slim reference for those. The files are the ones Parslips' component editor uses. Rendered from the .apiext files (the extended API format).
data-*, aria-*, role, class, …) verbatim onto the rendered tag.
Container usually used as a container element, wrapping content.
WOActionURL
Renders just the URL for an action, with no surrounding <a> tag. Use it where you need the bare URL as text — inside an href/src attribute you're writing yourself, in a bit of JavaScript, or in a redirect. Because no tag is written, extra attributes are not rendered; ?-prefixed bindings become query parameters.
Pick one destination: a component action, a static href, a pageName, or a direct action (actionClass and/or directActionName). actionClass may not be combined with action. Query parameters come from queryDictionary (and ?-prefixed bindings); fragmentIdentifier appends a #fragment, and secure forces an https URL.
| Binding | Type | Description |
|---|---|---|
| action | ↓ WOActionResults | A component action — a method returning the next page (a |
| href | ↓ String | A static URL to emit. Pulled as a string. Mutually exclusive with |
| pageName | ↓ String | The name of a page to navigate to, as an alternative to |
| directActionName | ↓ String | The name of a direct action to target. Pulled and used to build a direct-action URL. May be combined with |
| actionClass | ↓ String | The direct-action class handling |
| queryDictionary | ↓ NSDictionary | A dictionary of query-string parameters to append to the URL. Pulled and merged with any |
| fragmentIdentifier | ↓ String | A fragment appended to the URL as |
| secure | ↓ Object (truthy) | If truthy, generates an |
At least one of 'action', 'href', 'pageName' and ('actionClass' or 'directActionName') must be bound.
At most one of 'action', 'href', 'pageName' and 'directActionName' may be bound.
At most one of 'action' and 'actionClass' may be bound.
'action' must be a keypath, not a constant.
WOActiveImage
Passthrough
A clickable image that reports the click coordinates (a server-side image map). Renders as an <input type="image"> inside a form, or as an <a><img></a> (a hyperlink wrapping the image, with ismap) outside one.
Give the image a source with exactly one of src, filename, data, or value, and give it something to do with an action, an href, or an actionClass/directActionName pair. When bound, x and y receive the clicked pixel coordinates; an imageMapFile can route different regions to different actions.
| Binding | Type | Description |
|---|---|---|
| src | ↓ String | A URL for the image source, emitted as the |
| filename | ↓ String | The name of an image resource, resolved through the |
| framework | ↓ String | The framework to resolve |
| data | ↓ Object | Raw image data served inline through a generated URL. Requires |
| mimeType | ↓ String | The MIME type of the inline |
| key | ↓ String | A cache key for the inline |
| value | ↓ Object | An action invoked to produce the image content, whose result URL becomes the |
| action | ↓ WOActionResults | A component action invoked when the image is clicked; its result is the next page. Pulled at invocation time, so it must be a resolvable keypath, not a constant. Mutually exclusive with |
| href | ↓ String | A plain URL to follow when the image is clicked (outside a form, and when no image-map region is hit). Mutually exclusive with |
| actionClass | ↓ String | The direct-action class handling the click. Pairs with |
| directActionName | ↓ String | The direct-action method name handling the click. Pairs with |
| imageMapFile | ↓ String | The name of an image-map file defining clickable regions; a hit region's action is invoked in preference to the default |
| x | ↑ Integer | Receives the clicked x-coordinate, in pixels. Pushed back on click, so it must be a settable keypath. Must be bound together with |
| y | ↑ Integer | Receives the clicked y-coordinate, in pixels. Pushed back on click, so it must be a settable keypath. Must be bound together with |
| width | ↓ String | The image width, rendered onto the image tag. Pulled. |
| height | ↓ String | The image height, rendered onto the image tag. Pulled. |
| border | ↓ String | The image's 0 |
| target | ↓ String | The anchor |
| disabled | ↓ Object (truthy) | If truthy, renders a plain static |
| secure | ↓ Object (truthy) | If truthy, generates an |
| name | ↓ String | The HTML form-field name used to submit the click coordinates ( |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'data', 'filename', 'src' and 'value' must be bound.
Exactly one of 'action', 'href' and ('actionClass' or 'directActionName') must be bound.
'action' must be a keypath, not a constant.
'value' must be a keypath, not a constant.
'mimeType' must be bound when 'data' is bound.
'filename' must be bound when 'framework' is bound.
'x' must be bound when 'y' is bound.
'y' must be bound when 'x' is bound.
WOApplet
Passthrough
deprecated
Java applets are obsolete.
Renders an HTML <applet> element for embedding a Java applet in the page. The applet's code (required) names the class to load; codebase, archive, and archiveNames locate its class files and jar archives, resolving archiveNames against the application's WebServerResources/Java resources at render time.
Client-side attributes that aren't recognized as applet tag attributes are emitted as nested <param> child elements. Obsolete — browsers dropped applet support long ago; this element remains only for legacy templates.
| Binding | Type | Description |
|---|---|---|
| code • | ↓ String | The applet's main class. Required — the element throws at construction if it is unbound. Forwarded onto the |
| codebase | ↓ String | Base URL for locating the applet's class files. Pulled and, when non-null, emitted as the tag's |
| archive | ↓ String | A jar archive (or comma-separated list) for the applet. Pulled and appended to the archive list resolved from |
| archiveNames | ↓ String | A comma-separated list of archive names, each resolved to a |
| width | ↓ String | The applet's display width. Forwarded onto the |
| height | ↓ String | The applet's display height. Forwarded onto the |
| object | ↓ String | The serialized applet object attribute. Framework-consumed: excluded from the client-side |
| associationClass | ↓ String | The client-side association class. Framework-consumed: when bound, the element emits it as a |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
WOBody
Container
Passthrough
Renders an HTML <body> tag whose background attribute is resolved dynamically. The background image can come from a framework resource (filename + framework), a static URL (background), inline data (with a mimeType), a component action (backgroundValue), a pageName, or a direct action (actionClass/directActionName). The element wraps the page body content.
At most one of filename, data, background, pageName and backgroundValue may be bound; none is required. All bindings are pulled — WOBody never pushes anything back.
| Binding | Type | Description |
|---|---|---|
| filename | ↓ String | The name of a resource (an image) to use as the |
| framework | ↓ String | The framework that owns |
| background | ↓ String | A URL used directly as the |
| backgroundValue | ↓ WOActionResults | The action form of |
| pageName | ↓ String | The name of a page component whose response is the background image. Pulled and rendered as a component-action URL. Mutually exclusive with the other background sources. |
| actionClass | ↓ String | The direct-action class serving the background image. Pulled and combined with |
| directActionName | ↓ String | The direct action serving the background image. Pulled and combined with |
| queryDictionary | ↓ NSDictionary | Query parameters appended to a direct-action URL. Pulled. |
| data | ↓ Object | Inline background data, served through a generated URL. Pulled; requires |
| mimeType | ↓ String | The MIME type of the inline |
| key | ↓ String | The cache key under which the inline |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'filename', 'data', 'background', 'pageName' and 'backgroundValue' may be bound.
'mimeType' must be bound when 'data' is bound.
WOBrowser
Passthrough
A scrolling list selector — an HTML <select> rendered with a size so several options are visible at once (the browser-widget form of a pop-up).
Iterate list with item as the loop variable, rendering each option's label from displayString (or the item's toString). Bind selections to collect the chosen objects, and set multiple truthy to allow more than one. Unlike a pop-up, the size attribute is always emitted (defaulting to 5) so the control shows as a list rather than a drop-down.
| Binding | Type | Description |
|---|---|---|
| list • | ↓ List | The collection of objects to offer as options. Required. Pulled and iterated; each element is bound to |
| item | ↑ Object | The loop variable. As |
| displayString | ↓ Object | The label to show for the current |
| index | ↑ Integer | The current option's zero-based position. Pushed as an |
| selections | ↕ List | The selected objects. Pulled to decide which options render selected, and pushed back on submit as a |
| selectedValues | ↓ List | Has no effect in WOBrowser: WebObjects 5.4.3 rejects it together with |
| size | ↓ Integer | The number of visible rows, rendered as the 5 |
| multiple | ↓ Object (truthy) | If truthy, renders the |
| name | ↓ String | The HTML form-field name of the |
| disabled | ↓ Object (truthy) | If truthy, renders the control disabled and skips reading its submitted selection. Pulled by truthiness. |
| optionDisabled | ↓ Object (truthy) | Whether the current |
| prefix | ↓ String | A raw string emitted before each option's label. Pulled. |
| suffix | ↓ String | A raw string emitted after each option's label. Pulled. |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape option labels. Pulled by truthiness; defaults to escaping when |
| value deprecated | ↓ Object | The value written into each option's Avoid binding |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
'list' must be a keypath, not a constant.
'item' must be bound when 'displayString' or 'value' is bound.
'item' must be settable (assignable, not a constant) when 'displayString' or 'value' is bound.
At most one of 'selections' and 'selectedValues' may be bound.
WOCheckBox
Passthrough
A checkbox (<input type="checkbox">). Use either checked (a truthy in, a Boolean out) or value (usually with selection, membership-style) — not both. A value without selection just renders the value and pushes nothing back.
| Binding | Type | Description |
|---|---|---|
| checked | ↓ Object (truthy) ↑ Boolean |
The checked state. Pulled by truthiness to decide the initial state ( |
| value | ↓ Object | This checkbox's value (the |
| selection | ↕ Object | The selected value, used with |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
| disabled | ↓ Object (truthy) | If truthy, renders the checkbox disabled and skips reading its submitted value (so neither |
| escapeHTML | ↓ Object (truthy) | Whether the |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'checked' and 'value' must be bound.
WOCheckBoxList
deprecated
WOCheckBoxList is a deprecated dynamic element. Build a list of checkboxes with a WORepetition around a WOCheckBox instead.
Renders a parallel list of checkbox inputs — one per element of list — sharing a single form-field name so the checked options come back together. WebObjects 5.4.3 renders these inputs without a type attribute unless one is given as a constant attribute on the tag (e.g. type="checkbox").
For each item it pushes item (and index) so displayString/value can be evaluated per option, then on submit collects the checked options and pushes them back into selections.
Extra attributes with a constant value are copied onto every checkbox input; extra attributes with a dynamic value are ignored.
| Binding | Type | Description |
|---|---|---|
| list • | ↓ List | The list of option objects, one checkbox per element. Required. Pulled each cycle; must be a resolvable keypath, not a constant. |
| item | ↑ Object | The loop variable. For each option the current element of |
| index | ↑ Integer | The current option's zero-based position. Pushed as an |
| selections | ↕ List | The selected options. Pulled to decide which boxes render checked (an option is checked when it is contained in this list); on submit the checked options are collected and pushed back as a new |
| selectedValues | ↓ List | Values used to mark the initial selection. Pulled only, and only consulted when |
| displayString | ↓ Object | The label rendered after each checkbox. Pulled per option (with |
| value | ↓ Object | The |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape each label. Pulled by truthiness; defaults to true only when |
| optionDisabled | ↓ Object (truthy) | Whether the current option's checkbox renders disabled. Pulled per item (with |
| disabled | ↓ Object (truthy) | If truthy, the submitted selections are not taken (nothing is pushed to |
| name | ↓ String | The shared HTML form-field name applied to every checkbox in the group. Pulled; auto-assigned from the element ID when unbound. |
| prefix | ↓ String | A raw string emitted before each option's label. Pulled; written verbatim, not HTML-escaped. |
| suffix | ↓ String | A raw string emitted after each option's label. Pulled; written verbatim, not HTML-escaped. |
| class | ↓ String | The |
| id | ↓ String | The |
| style | ↓ String | The |
| title | ↓ String | The |
'list' must be a keypath, not a constant.
'item' must be bound when 'displayString' or 'value' is bound.
WOComponentContent
The placeholder inside a reusable component's template that marks where the enclosing (parent) component's content is rendered.
When a parent uses this component as a container — <wo:MyPanel>…children…</wo:MyPanel> — the children are passed through to wherever the component's own template writes a WOComponentContent. During request handling, action invocation, and rendering, this element switches the active component back to the parent and forwards the phase to the parent's child template, so the wrapped content evaluates in the parent's context, not the component's.
It has no bindings: it is a pure slot. Write it self-closing (<wo:WOComponentContent/>); it takes no template content of its own.
| Binding | Type | Description |
|---|
The binding set is closed: only the bindings listed above are accepted.
WOConditional
Container
Includes its child content only when a condition is true. WOConditional renders nothing of its own — it is a pure control-flow element that either appends its children to the response or skips them.
The bound condition is pulled and read by truthiness (null, 0 and false are false; everything else is true). Bind negate to invert that test, and result to capture the evaluated boolean.
| Binding | Type | Description |
|---|---|---|
| condition • | ↓ Object (truthy) | The condition that decides whether the content is rendered. Required. Pulled and read by truthiness — the content is included when the value is truthy (or falsy, if |
| negate | ↓ Object (truthy) | When truthy, inverts the test: the content is rendered when |
| result | ↑ Boolean | If bound, the final evaluated result (after |
The binding set is closed: only the bindings listed above are accepted.
WOEmbeddedObject
Passthrough
Renders an HTML <embed> tag whose src URL points at an embedded object — a resource file, a data blob, or a component/direct action that produces the content.
The source is at most one of src, filename, data, value, or pageName: bind a src for a static URL, a filename (with optional framework) for a framework resource, a data/mimeType pair for an in-memory blob served through the resource manager, a value action that returns the content on demand, or a pageName. Instead of a source, a direct action (actionClass/directActionName) can produce the content; one or the other must be given. All bindings are pulled — the element only reads them to build the tag's URL.
| Binding | Type | Description |
|---|---|---|
| src | ↓ String | A URL for the embedded object. Pulled as a string; a relative URL is resolved against the application's resources, an absolute one is used as-is. Mutually exclusive with the other sources. |
| filename | ↓ String | The name of a resource file to embed. Pulled, resolved through the resource manager (optionally within |
| framework | ↓ String | The framework that owns |
| data | ↓ NSData | In-memory bytes to serve as the embedded object. Pulled as an |
| mimeType | ↓ String | The MIME content type of the |
| key | ↓ String | An optional cache key for a |
| value | ↓ WOActionResults | An action that lazily produces the embedded content. Pulled when the browser requests the generated URL — the returned |
| pageName | ↓ String | The name of a page component whose response is the embedded content. Pulled and rendered as a component-action URL. Mutually exclusive with the other sources. |
| actionClass | ↓ String | The direct-action class producing the content. Pulled and combined with |
| directActionName | ↓ String | The direct action producing the content. Pulled and combined with |
| queryDictionary | ↓ NSDictionary | Query parameters appended to a direct-action URL. Pulled. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'filename', 'data', 'src', 'pageName' and 'value' may be bound.
At least one of 'filename', 'data', 'src', 'pageName', 'value' and ('actionClass' or 'directActionName') must be bound.
'mimeType' must be bound when 'data' is bound.
WOFileUpload
Passthrough
A file-upload field (<input type="file">). Must live inside a WOForm whose enctype is multipart/form-data. On submit it receives the uploaded bytes and delivers them to your component through exactly one of four sinks: data (all bytes in memory), inputStream (a stream you read), outputStream (a stream WO writes into), or streamToFilePath (WO streams straight to a file on disk). It also pushes the original filename and MIME type back when you bind filePath and mimeType. WOFileUpload never renders a value into the tag.
| Binding | Type | Description |
|---|---|---|
| data | ↑ NSData | The in-memory sink: on submit the entire uploaded file is pushed here as an |
| inputStream | ↑ InputStream | The stream sink you read from: on submit an |
| outputStream | ↓ OutputStream | The stream sink WO writes into: WOFileUpload pulls this |
| streamToFilePath | ↓ String | The file-path sink: WOFileUpload pulls this path and streams the upload straight to that file on disk. Mutually exclusive with |
| filePath | ↑ String | Receives the uploaded file's original client filename, pushed on submit when a non-empty file was chosen. Cannot be a constant. |
| mimeType | ↑ String | Receives the uploaded file's declared content type, pushed on submit. Cannot be a constant. |
| copyData | ↓ Object (truthy) | Used only with true |
| bufferSize | ↓ Object | The copy buffer size in bytes, used with 524288 |
| overwrite | ↓ Object (truthy) | Used only with false |
| finalFilePath | ↑ String | Used only with |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'data', 'inputStream', 'outputStream' and 'streamToFilePath' must be bound.
At most one of 'bufferSize' and ('data' or 'inputStream') may be bound.
'outputStream' must be settable (assignable, not a constant).
'streamToFilePath' must be bound when 'overwrite' or 'finalFilePath' is bound.
WOForm
Container
Passthrough
Renders an HTML <form> and establishes the form context its children submit into. Wraps the inputs, buttons and other form controls that make up a single submission.
Point the form at exactly one destination: a component action, a plain href, or a direct action named by directActionName (optionally scoped by actionClass). Extra query parameters can be supplied via queryDictionary or ?-prefixed bindings, which are appended as hidden fields.
| Binding | Type | Description |
|---|---|---|
| action | ↓ WOActionResults | A component action invoked when the form is submitted; its result becomes the next page. Pulled during action handling. Must be a resolvable keypath, not a constant. Mutually exclusive with |
| href | ↓ String | A literal URL to submit to, used verbatim as the form's |
| directActionName | ↓ String | The name of a direct action to submit to. Pulled and required to be a |
| actionClass | ↓ String | The direct-action class handling the submission (defaults to |
| queryDictionary | ↓ NSDictionary | A dictionary of extra query parameters. Pulled and appended to the submission as hidden form fields. Individual parameters may also be supplied with |
| multipleSubmit | ↓ Object (truthy) | When truthy, the form may contain more than one submit button and the button that was actually pressed drives the action. Pulled by truthiness. |
| addDefaultSubmitButton | ↓ Object (truthy) | With |
| secure | ↓ Object (truthy) | If truthy, the form's action URL is generated as |
| rendered | ↓ Object (truthy) | If falsy, the |
| enctype | ↓ String | The form's |
| name | ↓ String | The form's HTML |
| method | ↓ String | The HTTP method used to submit the form. Forwarded to the rendered post |
| target | ↓ String | The browsing context the response is loaded into (the HTML |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'action', 'href' and ('actionClass' or 'directActionName') may be bound.
'action' must be a keypath, not a constant.
WOFrame
Passthrough
Renders an HTML <frame> whose src points at another resource, page, or direct action. Supply the frame's URL with at most one source — a static src, a resource filename (optionally within a framework), inline data (with a mimeType), a component value action, or a pageName — or, instead, a direct action addressed with actionClass and directActionName. One source or a direct action must be given.
| Binding | Type | Description |
|---|---|---|
| src | ↓ String | A static URL for the frame. Pulled as a string; a relative value is resolved against the application's resources, an absolute one is used verbatim. Mutually exclusive with the other sources. |
| value | ↓ Object | A component action backing the frame. Pulled and invoked when the frame's URL is requested; its result (a |
| pageName | ↓ String | The name of a component to load into the frame. Pulled and rendered as a component-action URL; when requested, WebObjects instantiates the named page. Mutually exclusive with the other sources. |
| filename | ↓ String | The name of a resource to load into the frame. Pulled and resolved through the resource manager (within |
| framework | ↓ String | The framework to resolve |
| data | ↓ Object | Inline content for the frame, served through a generated URL. Pulled; requires |
| mimeType | ↓ String | The MIME type of the inline |
| key | ↓ String | A cache key under which the inline |
| actionClass | ↓ String | The direct-action class for the frame's URL. Pulled and combined with |
| directActionName | ↓ String | The direct action to target. Pulled and combined with |
| queryDictionary | ↓ NSDictionary | Query parameters appended to a direct-action URL. Pulled. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'filename', 'data', 'src', 'pageName' and 'value' may be bound.
At least one of 'filename', 'data', 'src', 'pageName', 'value' and ('actionClass' or 'directActionName') must be bound.
'mimeType' must be bound when 'data' is bound.
WOGenericContainer
Container
Passthrough
Renders an arbitrary container HTML element whose tag name is chosen at runtime. Where WOGenericElement produces a self-closing tag, WOGenericContainer wraps its children in an open/close tag pair — <tag>…children…</tag>.
The tag name comes from elementName, any undeclared attributes are forwarded onto the rendered tag, and the element's content is the wrapped template. Use it when the tag itself must be dynamic (div vs. section, chosen in code) rather than fixed in the template.
| Binding | Type | Description |
|---|---|---|
| elementName | ↓ String | The HTML tag name to render (e.g. |
| otherTagString | ↓ String | Raw text inserted inside the opening tag. Pulled and written verbatim. |
| omitTags | ↓ Object (truthy) | When truthy, suppresses the surrounding tags: |
| name | ↓ String | The HTML |
| formValue | ↑ String | On form submission the request's string value for |
| formValues | ↑ List | On form submission all of the request's values for |
| invokeAction | ↓ WOActionResults | An action invoked when this element is the sender of the request. Pulled to obtain the |
| elementID | ↑ String | The framework pushes this element's context element ID here on every phase, so the component can correlate a request back to this element. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
'name' must be bound when 'formValue' or 'formValues' is bound.
WOGenericElement
Passthrough
Renders an arbitrary, self-closing HTML tag whose name is chosen at runtime. The elementName binding supplies the tag name, and any attribute you write that isn't a recognized binding is passed through onto the rendered tag (its value evaluated like a binding).
Because it emits no closing tag, WOGenericElement is for void/empty elements (<input>, <br>, <img>, ...); use WOGenericContainer when you need a tag with content. It can also participate in form submission by pushing a request value into formValue/formValues.
| Binding | Type | Description |
|---|---|---|
| elementName | ↓ String | The HTML tag name to render (e.g. |
| name | ↓ String | The HTML |
| otherTagString | ↓ String | Raw text inserted inside the rendered tag. Pulled and written verbatim. |
| omitTags | ↓ Object (truthy) | If truthy, suppresses the tag: |
| invokeAction | ↓ WOActionResults | An action fired when this element is the sender of the request. Pulled during action invocation; its result becomes the response page (a |
| formValue | ↑ String | Receives this element's single request value on submit. Pushed as a |
| formValues | ↑ List | Receives this element's multiple request values on submit. Pushed as a list of the form values for the field named by |
| elementID | ↑ String | Receives this element's context element ID. Pushed as a |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
'name' must be bound when 'formValue' or 'formValues' is bound.
WOHiddenField
Passthrough
A hidden form field (<input type="hidden">). Carries a value through a form round-trip without displaying it: the bound value is pulled to render the field, and on submit the submitted string is pushed back. Because value must be writable, it is required and may not be a constant.
| Binding | Type | Description |
|---|---|---|
| value • | ↓ Object ↑ String |
The field's value. Required. Pulled and rendered as its string form into the |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
| escapeHTML | ↓ Object (truthy) | Whether the |
| disabled | ↓ Object (truthy) | If truthy, renders the field disabled and skips reading its submitted value (so nothing is pushed back to |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
WOHyperlink
Container
Passthrough
Renders an HTML anchor (<a>). The destination is chosen by binding one of action, href, pageName, or a direct action (directActionName, optionally with actionClass); actionClass may not be combined with action. Its label comes from the tag's content and/or the string binding.
When disabled is truthy (or rendered is falsy) the <a> tags are dropped entirely — only the content and string are rendered, so the link becomes inert text.
| Binding | Type | Description |
|---|---|---|
| action | ↓ Object | A component action invoked when the link is clicked; its return value becomes the next page (a |
| href | ↓ String | A static URL to link to. Pulled and rendered verbatim (relative resource names are resolved to a resource URL). Mutually exclusive with |
| pageName | ↓ String | The name of a page component to navigate to when clicked. Pulled at invoke time and instantiated via |
| directActionName | ↓ String | The name of a direct action to target. Pulled to build a direct-action URL, combined with |
| actionClass | ↓ String | The direct-action class handling |
| string | ↓ Object | Text rendered between the |
| escapeHTML | ↓ Object (truthy) | Whether true |
| prefix | ↓ String | Text written inside the |
| suffix | ↓ String | Text written inside the |
| disabled | ↓ Object (truthy) | If truthy, the anchor is disabled: the |
| rendered | ↓ Object (truthy) | If falsy, the |
| secure | ↓ Object (truthy) | Forces the generated action URL to be |
| fragmentIdentifier | ↓ String | A URL fragment appended after a |
| queryDictionary | ↓ NSDictionary | A dictionary of query-string parameters to append to the URL. Pulled and encoded as form values. Individual parameters can also be supplied with |
| target | ↓ String | The anchor's |
| name | ↓ String | The anchor's |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At least one of 'action', 'href', 'pageName' and ('actionClass' or 'directActionName') must be bound.
At most one of 'action', 'href', 'pageName' and 'directActionName' may be bound.
At most one of 'action' and 'actionClass' may be bound.
'action' must be a keypath, not a constant.
WOIFrame
Renders an <iframe> whose source is produced by the component itself. Bind src for an explicit URL, or bind pageName, value, or actionName to have the frame's src point at a component action that renders the target page/element on demand.
The content bindings are all pulled — WOIFrame never pushes anything back. It renders a self-closing frame, so it takes no template content.
| Binding | Type | Description |
|---|---|---|
| src | ↓ String | An explicit URL for the frame's |
| pageName | ↓ String | The name of a component page to render inside the frame. Pulled as a |
| value | ↓ WOElement | A |
| actionName | ↓ String | The name of an action on the parent component whose returned |
| width | ↓ String | The frame's |
| height | ↓ String | The frame's |
| frameborder | ↓ String | The |
| scrolling | ↓ String | The |
| align | ↓ String | The |
| longdesc | ↓ String | The |
| marginwidth | ↓ String | The |
| marginheight | ↓ String | The |
| name | ↓ String | The frame's |
| style | ↓ String | The |
| border | ↓ String | The |
The binding set is closed: only the bindings listed above are accepted.
Exactly one of 'pageName' and ('src' or 'value') must be bound.
WOImage
Passthrough
Renders an <img> tag. The image source is supplied by at most one of: a resource filename (resolved through the resource manager, optionally within a framework), a static or dynamic src URL, in-memory data (with a mimeType), a component action (value) or page (pageName) that returns the image — or, instead of any of those, a direct action (actionClass/directActionName). One source or a direct action must be given.
WOImage is display-only: every binding is pulled, nothing is pushed back. When neither width nor height is given for a filename image, the element reads the image's intrinsic dimensions and writes them onto the tag.
| Binding | Type | Description |
|---|---|---|
| filename | ↓ String | The name of an image resource to serve. Pulled and resolved through the resource manager (within |
| src | ↓ String | A URL for the image's |
| data | ↓ NSData | In-memory image bytes served inline. Pulled as an |
| value | ↓ WOActionResults | A component action that returns the image. The |
| pageName | ↓ String | The name of a page component whose response is the image. Pulled and rendered as a component-action URL. Mutually exclusive with the other sources. |
| actionClass | ↓ String | The direct-action class serving the image. Pulled and combined with |
| directActionName | ↓ String | The direct action serving the image. Pulled and combined with |
| queryDictionary | ↓ NSDictionary | Query parameters appended to a direct-action URL. Pulled. |
| mimeType | ↓ String | The MIME type of the |
| framework | ↓ String | The framework to resolve |
| key | ↓ String | A cache key under which the |
| width | ↓ Object | The image width, written onto the tag. Pulled and rendered via |
| height | ↓ Object | The image height, written onto the tag. Pulled and rendered via |
| alt | ↓ String | The |
| border | ↓ String | The |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'filename', 'data', 'src', 'pageName' and 'value' may be bound.
At least one of 'filename', 'data', 'src', 'pageName', 'value' and ('actionClass' or 'directActionName') must be bound.
'mimeType' must be bound when 'data' is bound.
WOImageButton
Passthrough
An image that acts as a submit button (<input type="image">). Clicking it submits the enclosing form and reports the click coordinates back to the server.
The image source is chosen by binding exactly one of value, data, filename, or src. The click triggers exactly one of a component action or a direct action addressed by actionClass/directActionName. When an imageMapFile is supplied, the hit coordinates are matched against its regions to pick the action; the x/y bindings receive the raw click coordinates.
When rendered disabled the element degrades to a plain <img> and no longer submits.
| Binding | Type | Description |
|---|---|---|
| action | ↓ WOActionResults | The component action to invoke when the image is clicked. Pulled as an action and its result becomes the response page. Mutually exclusive with |
| actionClass | ↓ String | The direct-action class handling the click (defaults to |
| directActionName | ↓ String | The name of the direct action to invoke (defaults to |
| value | ↓ WOActionResults | A component action invoked directly through this button's own request URL, doubling as the image source. Pulled, and must be a real method binding — a constant is rejected. Mutually exclusive with |
| src | ↓ String | A literal URL for the image. Pulled and rendered as the |
| filename | ↓ String | The name of an image resource, resolved through the resource manager (optionally within |
| framework | ↓ String | The framework in which |
| data | ↓ NSData | Raw image bytes to serve inline. Pulled. Requires |
| mimeType | ↓ String | The MIME type of the |
| key | ↓ String | A cache key under which the |
| imageMapFile | ↓ String | The name of a client-side image-map resource. Pulled; when the button is clicked the hit coordinates are tested against its regions to select the action to invoke. |
| x | ↑ Integer | Receives the horizontal click coordinate on submit. Pushed as an |
| y | ↑ Integer | Receives the vertical click coordinate on submit. Pushed as an |
| width | ↓ String | The image width, rendered onto the tag. Pulled. |
| height | ↓ String | The image height, rendered onto the tag. Pulled. |
| disabled | ↓ Object (truthy) | If truthy, the element renders as a plain |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'value', 'data', 'filename' and 'src' must be bound.
Exactly one of 'action' and ('actionClass' or 'directActionName') must be bound.
'action' must be a keypath, not a constant.
'value' must be a keypath, not a constant.
'filename' must be bound when 'framework' is bound.
'mimeType' must be bound when 'data' is bound.
'y' must be bound when 'x' is bound.
'x' must be bound when 'y' is bound.
WOJavaScript
Passthrough
Emits a <script> element carrying client-side JavaScript. The script body comes from exactly one of three sources: an inline string (scriptString), a resource file bundled with the application (scriptFile), or an external URL referenced via src (scriptSource).
When scriptSource is used the element renders an empty <script src="…"> tag; otherwise the script text is written as the element's content. Template content between the element's tags is discarded.
| Binding | Type | Description |
|---|---|---|
| scriptString | ↓ String | The JavaScript source to emit inline, pulled and written verbatim as the |
| scriptFile | ↓ String | The name of a JavaScript resource bundled with the application. Pulled, resolved against the resource manager, and its file contents are emitted inline as the |
| scriptSource | ↓ String | A URL for an external script. Pulled and rendered as the |
| hideInComment | ↓ Object (truthy) | If truthy, the inline script body is wrapped in an HTML comment ( |
| language | ↓ String | The JavaScript |
| type | ↓ String | The text/javascript |
| protectInCDATA | ↓ Object (truthy) | If truthy, the inline script is wrapped in CDATA comment markers. Pulled by truthiness. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'scriptFile', 'scriptSource' and 'scriptString' must be bound.
WONestedList
deprecated
WONestedList is a deprecated dynamic element. Build a nested list from WORepetitions (or a recursive component) instead.
Renders a hierarchical list as nested HTML <ul>/<ol> markup, walking each item's sublist recursively. Every rendered item is a component-action link: clicking one pushes the corresponding object into selection and fires action.
The element renders its own list markup and takes no template content.
| Binding | Type | Description |
|---|---|---|
| list • | ↓ List | The top-level list to render. Required. Pulled as an |
| item | ↑ Object | The loop variable. For each element the current object is pushed here so |
| sublist | ↓ List | The child list of the current |
| displayString | ↓ Object | The label rendered for the current |
| value | ↓ Object | A backward-compatible alias for |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape the rendered label. Read by truthiness. Defaults to |
| selection | ↑ Object | Receives the clicked object. When a generated link is followed, the object at that index path is pushed here before |
| action | ↓ Object | The action invoked when an item's link is clicked, after |
| index | ↑ Integer | The current item's zero-based position within its immediate list. Pushed as an |
| level | ↑ Integer | The current nesting depth, starting at |
| isOrdered | ↓ Object (truthy) | When truthy, each level is rendered as an ordered list ( |
| prefix | ↓ Object | Optional markup pulled and emitted immediately before each item's |
| suffix | ↓ Object | Optional markup pulled and emitted immediately after each item's |
The binding set is closed: only the bindings listed above are accepted.
'list' must be a keypath, not a constant.
'item' must be bound when 'displayString' or 'value' is bound.
'item' must be settable (assignable, not a constant) when 'displayString' or 'value' is bound.
WOParam
Passthrough
Renders an HTML <param> tag, supplying a named parameter to a surrounding plugin container (<object>/<applet>). Its value attribute is filled either from a pulled value or from a component-action URL when an action is bound.
Bind exactly one of value or action: value supplies a literal parameter value, while action turns the value attribute into a URL that invokes a component action when requested.
| Binding | Type | Description |
|---|---|---|
| value | ↓ Object | The parameter value. Pulled, then rendered into the tag's |
| action | ↓ WOActionResults | A component action. When bound, the tag's |
| name | ↓ String | The parameter name, forwarded onto the rendered |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'value' and 'action' must be bound.
WOPasswordField
Passthrough
A masked text field (<input type="password">). The current value is pulled and rendered into the tag's value attribute; on submit the field pushes whatever the user entered into its value binding.
| Binding | Type | Description |
|---|---|---|
| value • | ↓ Object ↑ String |
The field's value. Required, and must be a settable keypath — the element rejects a constant at construction. On submit the raw form string is pushed back as a |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
| escapeHTML | ↓ Object (truthy) | Whether the |
| disabled | ↓ Object (truthy) | If truthy, renders the field disabled and skips reading its submitted value (so nothing is pushed to |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
WOPopUpButton
Passthrough
A single-selection drop-down menu (<select>). It iterates list, binding each element to item in turn to render an <option>, and pushes the chosen element back through selection on submit.
Bind list (required) and, in the loop, item (the current element) plus optionally displayString (the label to show). Track the chosen element with either selection (which also selects the initial value) or the read-only selectedValue — never both. Use noSelectionString to add a leading placeholder option.
| Binding | Type | Description |
|---|---|---|
| list • | ↓ List | The collection of objects the menu iterates, one |
| item | ↑ Object | The loop variable: on each pass the current |
| index | ↑ Integer | The current option's zero-based position. Pushed as an |
| selection | ↕ Object | The chosen |
| selectedValue | ↓ Object | A read-only alternative to |
| displayString | ↓ String | The label rendered for the current |
| value | ↓ Object | The |
| optionDisabled | ↓ Object (truthy) | Whether the current |
| noSelectionString | ↓ String | When it evaluates to a non-empty string, prepends a placeholder |
| name | ↓ String | The HTML form-field name of the |
| disabled | ↓ Object (truthy) | If truthy, renders the menu disabled so its |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape the option labels. Pulled by truthiness; defaults to true only when |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
'list' must be a keypath, not a constant.
'item' must be bound when 'displayString' or 'value' is bound.
'item' must be settable (assignable, not a constant) when 'displayString' or 'value' is bound.
At most one of 'selection' and 'selectedValue' may be bound.
WOQuickTime
Passthrough
deprecated
The QuickTime browser plugin is obsolete.
Embeds a QuickTime object — movie, sound, or VR panorama — by rendering an <embed> tag. It supports QuickTime VR hotspots: bind hotspotList and action, and clicking a hotspot invokes action with the clicked hotspot set into selection. Should be used outside an HTML form.
Obsolete: the QuickTime browser plugin no longer exists in any modern browser. Use a native <video> / <audio> element instead.
| Binding | Type | Description |
|---|---|---|
| filename | ↓ String | The name of a resource (looked up via the resource manager, optionally in |
| src | ↓ String | A URL used directly as the movie source (resolved as a resource when relative). Pulled. Mutually exclusive with |
| qtsrc | ↓ String | A QuickTime movie source URL ( |
| width | ↓ Object | The embed width. Pulled and rendered via |
| height | ↓ Object | The embed height. Pulled and rendered via |
| framework | ↓ String | The framework to resolve |
| hotspotList | ↓ List | A |
| selection | ↑ Object | Receives the clicked VR hotspot. Pushed (via |
| action | ↓ WOActionResults | The parent action invoked when a VR hotspot is clicked. Pulled to obtain the returned |
| href | ↓ Object | A single-click target for a standalone (hotspot-free) object: either a URL string, or a page/component whose action result is returned. Pulled. Mutually exclusive with |
| pageName | ↓ String | The name of a page to return on a single click. Pulled. Mutually exclusive with |
| pluginsPage | ↓ Object | The page the browser should visit to obtain the QuickTime plugin: a URL string, or a page/component. Pulled and rendered onto the |
| pluginsPageName | ↓ String | The name of a page component to use as the plugin page, as an alternative to |
| qtnextList | ↓ Object | QuickTime 4 playlist: a single movie URL |
| qtnextAction deprecated | ↓ WOActionResults | Action for dynamically serving the next movie in a QuickTime 4 playlist. Not implemented — the element throws if this is bound. WebObjects 5.4.3 throws a "not implemented" error when |
| volume | ↓ Object | The playback volume, forwarded onto the embed tag. Pulled and rendered via |
| bgcolor | ↓ Object | The background color, forwarded onto the embed tag. Pulled and rendered via |
| target | ↓ Object | The single target for VR actions, forwarded onto the embed tag. Pulled and rendered via |
| node | ↓ Object | The initial VR node, forwarded onto the embed tag. Pulled and rendered via |
| pan | ↓ Object | The initial VR pan angle, forwarded onto the embed tag. Pulled and rendered via |
| tilt | ↓ Object | The initial VR tilt angle, forwarded onto the embed tag. Pulled and rendered via |
| fov | ↓ Object | The initial VR field of view, forwarded onto the embed tag. Pulled and rendered via |
| correction | ↓ Object | The VR image correction mode, forwarded onto the embed tag. Pulled and rendered via |
| prefixHost | ↓ Object | Whether to prefix the host on generated URLs, forwarded onto the embed tag. Pulled and rendered via |
| hidden | ↓ Object | Whether the object is hidden, forwarded onto the embed tag. Pulled and rendered via |
| cache | ↓ Object (truthy) | Whether the browser may cache the object. Pulled by truthiness — rendered as |
| autoplay | ↓ Object (truthy) | Whether the object plays automatically. Pulled by truthiness — rendered as |
| controller | ↓ Object (truthy) | Whether the playback controller is shown. Pulled by truthiness — rendered as |
| playeveryframe | ↓ Object (truthy) | Whether every frame is played (no dropping). Pulled by truthiness — rendered onto the |
| otherTagString | ↓ String | Raw text inserted inside the rendered |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'src', 'filename' and 'qtsrc' must be bound.
At most one of 'href' and 'pageName' may be bound.
At most one of 'pluginsPage' and 'pluginsPageName' may be bound.
WORadioButton
Passthrough
A radio button (<input type="radio">). Use it in one of two modes: bind checked for a simple truthy-in / Boolean-out toggle, or bind value (usually with selection) so a group of buttons sharing a selection behaves as a single-choice set (the button whose value equals selection is the one selected). A value without selection just renders the value and pushes nothing back.
| Binding | Type | Description |
|---|---|---|
| checked | ↓ Object (truthy) ↑ Boolean |
The checked state. Pulled by truthiness to decide whether the button renders selected ( |
| value | ↓ Object | This button's value (the |
| selection | ↕ Object | The group's currently selected value (used with |
| name | ↓ String | The HTML form-field |
| disabled | ↓ Object (truthy) | If truthy, renders the button disabled (it won't submit and won't push |
| escapeHTML | ↓ Object (truthy) | Whether the |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'checked' and 'value' must be bound.
WORadioButtonList
deprecated
WORadioButtonList is a deprecated dynamic element. Build a radio-button group with a repetition over WORadioButton instead.
Renders a group of radio buttons (<input type="radio">), one per element of list. Iterating over list, it pushes each element to item (and its position to index), renders a radio button for it, and on submit pushes the chosen element back to selection. displayString supplies each button's label; prefix/suffix wrap it.
Bind either selection or a selectedValue (never both — the framework rejects that combination), and note that binding value selects a slower option-matching path the runtime warns against.
Extra attributes with a constant value are copied onto every radio input; extra attributes with a dynamic value are ignored.
| Binding | Type | Description |
|---|---|---|
| list • | ↓ List | The list of options to render, one radio button each. Required. Pulled once per rendering; must resolve to a |
| item | ↑ Object | The iteration variable. For each option the current element is pushed here so |
| index | ↑ Integer | The current option's zero-based position. Pushed as an |
| selection | ↕ Object | The selected option. Pulled to decide which button renders checked (the option |
| selectedValue | ↓ Object | A read-only alternative to |
| displayString | ↓ Object | The label shown next to each button. Pulled for the current |
| value | ↓ Object | The HTML |
| name | ↓ String | The shared HTML form-field name tying the radio buttons into one group. Pulled; auto-assigned from the element ID when unbound. |
| prefix | ↓ String | A raw string emitted before each button's label. Pulled; useful for wrapping each option in markup. |
| suffix | ↓ String | A raw string emitted after each button's label. Pulled; the companion to |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape each label. Pulled by truthiness; defaults to escaping when |
| optionDisabled | ↓ Object (truthy) | Whether the current option's radio button renders disabled. Pulled per item (with |
| disabled | ↓ Object (truthy) | If truthy, the submitted value is not taken (nothing is pushed to |
| class | ↓ String | The |
| id | ↓ String | The |
| style | ↓ String | The |
| title | ↓ String | The |
'list' must be a keypath, not a constant.
'item' must be bound when 'displayString' or 'value' is bound.
'item' must be settable (assignable, not a constant) when 'value' is bound.
At most one of 'selection' and 'selectedValue' may be bound.
WORedirect
Redirects the browser to another URL. Renders no markup: it emits an HTTP 302 response with a Location header pointing at url.
Intended to be returned from an action method as the page response, not embedded as a tag in a template — its only job is to send the client elsewhere.
| Binding | Type | Description |
|---|---|---|
| url | ↓ String | The URL to redirect to. Pulled and written to the response's |
The binding set is closed: only the bindings listed above are accepted.
WORepetition
Container
Repeats its child content once per element of a collection (or a fixed number of times). Drive it either with list+item (iterate a collection, exposing each element through item) or with count (repeat a fixed number of times) — never both.
WORepetition renders no tag of its own; it only loops over the content between its tags.
| Binding | Type | Description |
|---|---|---|
| list | ↓ List | The collection to iterate over — an |
| item | ↑ Object | The loop variable. On each iteration the current element of |
| count | ↓ Number | A fixed repeat count. Pulled and read as an integer (a null count is treated as |
| index | ↑ Integer | The current zero-based iteration index. Pushed here before each iteration so the child content can read the position. Optional; must be a settable keypath when bound. |
The binding set is closed: only the bindings listed above are accepted.
Exactly one of 'list' and 'count' must be bound.
At most one of 'count' and 'item' may be bound.
'item' must be bound when 'list' is bound.
'list' must be a keypath, not a constant.
WOResetButton
Passthrough
A reset button (<input type="reset">). Clicking it clears the enclosing HTML form's fields back to their initial values — a purely client-side action that never round-trips to the server.
Because a reset performs no submission, this element reads its bindings only: it overrides takeValuesFromRequest as a no-op, so nothing is ever pushed back.
| Binding | Type | Description |
|---|---|---|
| value | ↓ Object | The button's label — the |
| disabled | ↓ Object (truthy) | If truthy, renders the button disabled. Pulled by truthiness ( |
| name | ↓ String | The HTML form-field name of the rendered |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
WOResourceURL
Renders the URL of a resource as text into the page — not a tag, just the URL string. Use it to build src/href values by hand, or anywhere a bare resource URL is needed. Because no tag is written, extra attributes have nowhere to go: they are accepted but not rendered.
Bind exactly one of filename (a resource in the bundle), src (a URL), pageName (a component-action callback URL), value (a component action whose result is served), or data (an inline data source). A framework scopes a filename lookup; a mimeType types a data payload.
| Binding | Type | Description |
|---|---|---|
| filename | ↓ String | The name of a resource in the application (or |
| framework | ↓ String | The framework bundle to resolve |
| src | ↓ String | A URL to emit. Pulled as a string; a relative URL is resolved as a resource, an absolute one is emitted verbatim. Mutually exclusive with |
| pageName | ↓ String | The name of a page component. Pulled (and read via |
| value | ↓ WOActionResults | A component action. The emitted URL invokes it when requested, and the |
| data | ↓ Object | An inline data payload to expose at a generated URL. Pulled and, together with |
| mimeType | ↓ String | The MIME type of the |
| key | ↓ String | A cache key for the |
Exactly one of 'filename', 'data', 'src', 'pageName' and 'value' must be bound.
'mimeType' must be bound when 'data' is bound.
WOString
Renders a dynamic string into the page. The bound value is converted to text and HTML-escaped by default.
Use a dateformat, numberformat, or formatter to format non-string values, and valueWhenEmpty to substitute a placeholder when the value is null or empty.
| Binding | Type | Description |
|---|---|---|
| value • | ↓ Object | The value to display. Required. Pulled, formatted to a string via |
| escapeHTML | ↓ Object (truthy) | Whether to HTML-escape the rendered value. Pulled by truthiness; set it falsy only when true |
| dateformat | ↓ String | A date format pattern used to render a date |
| numberformat | ↓ String | A number format pattern used to render a numeric |
| formatter | ↓ Format | A |
| valueWhenEmpty | ↓ Object | Substituted when |
The binding set is closed: only the bindings listed above are accepted.
At most one of 'formatter', 'dateformat' and 'numberformat' may be bound.
WOSubmitButton
Passthrough
A form submit button (<input type="submit">). Clicking it submits the enclosing form and triggers a component action — or, via actionClass/directActionName, a direct action.
Bind at most one of action or the direct-action pair (actionClass/directActionName). With neither, the button just submits the form: the form's own action runs, or the page is redisplayed with the submitted values. The button label comes from value (default Submit).
| Binding | Type | Description |
|---|---|---|
| action | ↓ WOActionResults | A component action to invoke when the button is clicked. Pulled on submit; its result (a |
| actionClass | ↓ String | The direct-action class to target. Pulled and combined with |
| directActionName | ↓ String | The direct-action method name to target. Pulled and combined with |
| value | ↓ Object | The button's label (the Submit |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. When a direct action is used, the name is derived from |
| disabled | ↓ Object (truthy) | If truthy, renders the button disabled and skips invoking its |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'action' and ('actionClass' or 'directActionName') may be bound.
'action' must be a keypath, not a constant.
WOSwitchComponent
Renders a component chosen at runtime by name. The bound WOComponentName is pulled, converted to a string, and used to look up the real component (or dynamic element) via WOApplication.dynamicElementWithName; the request/response phases are then forwarded to that component.
Any extra attributes bound on the tag are collected and handed to the resolved component as its bindings — they are not rendered as HTML attributes — and the tag's content is forwarded as that component's template. Because the target name is resolved at runtime, the editor cannot know which component is being rendered, so it cannot validate those forwarded bindings; that is why the unknown-attribute policy here is allowed (accepted, not checked) rather than passthrough.
| Binding | Type | Description |
|---|---|---|
| WOComponentName | ↓ Object | The name of the component to render. Pulled and read via |
| _componentName | ↓ String | An older name for |
At least one of 'WOComponentName' and '_componentName' must be bound.
WOText
Passthrough
A multi-line text input (<textarea>). The bound value fills the textarea's body on render and receives whatever the user typed on submit — so it is a genuine two-way binding.
Unlike single-line fields, WOText writes value into the tag's content rather than a value attribute; soft line-wrap returns (\r\n) are removed when the value is rendered; the submitted text is pushed back unchanged.
| Binding | Type | Description |
|---|---|---|
| value • | ↓ Object ↑ String |
The textarea's text. Required, and must be a settable keypath (a constant is rejected at construction). Pulled to fill the textarea body — rendered via |
| disabled | ↓ Object (truthy) | If truthy, renders the textarea disabled and skips reading its submitted value, so nothing is pushed to |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
| escapeHTML | ↓ Object (truthy) | Whether the |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
WOTextField
Passthrough
A single-line text input (<input type="text">). Pulls value to render the field's initial contents and pushes the submitted text back on form submission.
Bind a dateformat, numberformat, or formatter to convert between the bound object and its displayed/parsed string form. dateformat and numberformat are mutually exclusive; a formatter may be bound together with either.
| Binding | Type | Description |
|---|---|---|
| value • | ↕ Object | The field's value. Required, and must be a settable keypath (a constant is rejected at construction). Pulled to render the initial contents — formatted to a string via the bound formatter, or |
| formatter | ↓ Format | A |
| dateformat | ↓ String | A date format pattern used to render and parse a date |
| numberformat | ↓ String | A number format pattern used to render and parse a numeric |
| useDecimalNumber | ↓ Object (truthy) | If truthy, a value parsed by the formatter is converted to a |
| disabled | ↓ Object (truthy) | If truthy, renders the field disabled and skips reading its submitted value (so nothing is pushed to |
| name | ↓ String | The HTML form-field name. Pulled; auto-assigned from the element ID when unbound. |
| escapeHTML | ↓ Object (truthy) | Whether the |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
At most one of 'dateformat' and 'numberformat' may be bound.
WOVBScript
Passthrough
deprecated
VBScript is obsolete.
Renders a <script> block (by default language="VBScript" type="text/vbscript"). The script body comes from exactly one of scriptString, scriptFile, or scriptSource: scriptString supplies the script inline, scriptFile names a resource whose contents are inlined, and scriptSource emits a src reference instead of a body.
VBScript ran only in legacy Internet Explorer and no current browser executes it — this element exists for backward compatibility only.
| Binding | Type | Description |
|---|---|---|
| scriptString | ↓ Object | The script source, supplied inline. Pulled and rendered (via |
| scriptFile | ↓ String | The name of a resource file whose contents are inlined as the script body. Pulled, resolved against the application's resources (then the component's), and read into the |
| scriptSource | ↓ String | A URL emitted as the |
| hideInComment | ↓ Object (truthy) | If truthy, wraps the inline script in an HTML comment ( |
| language | ↓ String | The VBScript |
| type | ↓ String | The text/vbscript |
| protectInCDATA | ↓ Object (truthy) | If truthy, the inline script is wrapped in CDATA comment markers. Pulled by truthiness. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.
Exactly one of 'scriptFile', 'scriptSource' and 'scriptString' must be bound.
WOXMLNode
Container
Passthrough
Renders a single XML element into the response, using elementName as the tag name. Any child content is wrapped between an open and close tag; with no content the element is written self-closing (<name/>).
Every other binding is forwarded onto the rendered element as an XML attribute — the attribute name is preserved and its value is XML-escaped. This is the building block for emitting arbitrary XML markup from a component template.
| Binding | Type | Description |
|---|---|---|
| elementName • | ↓ String | The XML tag name to render. Required. Pulled and written verbatim as both the opening (and, when the element has content, closing) tag name. Consumed by the framework — it is not itself forwarded as an attribute. |
Any other attribute (data-*, aria-*, role, class, …) is passed through verbatim onto the rendered tag.