bea.com | products | dev2dev | support | askBEA
 Download Docs   Site Map   Glossary 
Search

JavaServer Page Guide

 Previous Next Contents View as PDF  

Navigation (Webflow) JSP Tags

The WebLogic Portal product suite includes a set of JSP tags designed to facilitate the development of JSPs using Webflow. Use of these predefined tags will eliminate the need for your JSPs to contain any Java code related to Webflow. This topic explains how to import this set of tags into your Web pages, and describes the purpose of each tag.

This topic includes the following sections:

 


URL Creation Tags

The Webflow URL tags described in this section are used to create dynamic or static URLs for links and other resources within a JSP.

Note: In the following tables, the Required column specifies if the attribute is required (yes) or optional (no). In the R/C column, C means that the attribute is a Compile time expression, and R means that the attribute can be either a Request time expression or a Compile time expression.

<webflow:createWebflowURL>

The <webflow:createWebflowURL> tag (Table  4-1) is used in a JSP to dynamically create a Webflow URL in a JSP. The Webflow URL may include the protocol, domain name, port, Web application URI, WebflowServlet URI, and query string.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Class Implemented

CreateWebflowURLTag


 


 

Table  4-1 describes the <webflow:createWebflowURL> tag attributes.


 

Table 4-1 <webflow:createWebflowURL>  

Tag Attribute

Required

Type

Description

R/C

domainName

No

String

Used to change the domain name or IP address of the URL. This may be used if Webflow is fronted by a proxy server and that server resides on another machine.

R

doRedirect

No

String

Causes the WebflowServlet to perform a redirect instead of a forward to a presentation node. Valid values are true and false. The default is false (not to redirect).

R

encode

No

String

Informs Webflow to encode the URL. URLs need to be encoded if you wish to maintain session state and the browser does not accept cookies. Valid values are true and false. The default value is determined by the value of ENCODE_URLS set in the web app's web.xml file. URLs will only need to be encoded if the browser does not accept cookies. See "Encoding Webflow URLs"for more information.

R

escape

No

String

Tells Weblfow to escape the URL. URLs must be escaped if they will contain any characters (with some exceptions - see below) that would be encoded using java.net.URLEncoder.encode(). Note however that even when escaping is on the entire URL is not encoded rather the URL will be tokenized using the characters ':', '/', '?', '=', and '&' then the substrings between the tokens are encoded using java.net.URLEncoder.encode(). The tokenizing is necessary so that the URL will still be recognized by the Webflow engine.

Valid values for this attribute are 'NO', 'YES' or 'CALCULATE'.

Escaping is relatively costly and should be avoided if possible but is required if the URL might have any characters other then those ignored by java.net.URLEncoder.encode(), that is any characters other than 'a' through 'z', 'A' through 'Z, '0' through '9', '-', '_', '.', or '*' with the exception of the tokenizing characters mentioned above. If the content of the URL will not be determined until runtime and might contain "illegal" characters you should use either 'YES' or 'CALCULATE'. 'CALCULATE' should be used with care.


escape (con't)

No

String

(Continued from previous page)

For sites that have a small number of URLs that will need escaping using 'CALCULATE' rather then 'YES' will result in a performance improvement. But, since 'CALCULATE' first checks the URL then encodes if needed, sites where most URLs need escaping will have poorer performance using 'CALCULATE' rather then 'YES'.

If omitted the default value for escaping is determined by the value of ESCAPE_URLS in the web app's web.xml file. See "Encoding Webflow URLs" for more information.


event

Yes

String

Webflow will use this in combination with the origin to resolve a destination in the supplied namespace XML file.

R

extraParams

No

String

Used to supply additional request parameters as name/value pairs.

R

httpsInd

No

String

Informs Webflow to calculate the protocol or use HTTPS or HTTP. Valid values are calculate, http, and https.

Calculate will yield HTTPS if any node in the origin/event branch chain list is matched under the HTTPS_URL_PATTERNS context parameter in the application's WEB-INF/web.xml file. Calculate is more dynamic and expensive, but if the protocol needs to be forced you can specify it here.

If a value is not set for this attribute, the context-param value for HTTPSIND_DEFAULT_VALUE in web.xml is used. If no value is found there, calculate is used.

If an invalid value is used for this attribute, calculate is used.

The following example shows a protocol set in web.xml. This value would be used if no JSP tag attribute is set.

<context-param>
<param-name>HTTPSIND_DEFAULT_VALUE</param-name>
<param-value>HTTPS</param-value>
</context-param>

The possible values of HTTP, HTTPS or CALCULATE can be specified in all uppercase or all lowercase.

R

namespace

No

String

Indicates which Webflow configuration file the origin and event are defined in. If omitted, then the current (last successful) namespace is used.

R

origin

No

String

The node where the event will be coming from. Origins follow the node-name.node-type format. This may or may not be equal to the page name. If omitted, then the JSP page name is used.

R

pathPrefix

No

String

Used to prefix the path information. This string will be placed in front of the Web application URI. This can be used when the proxy server is located on the same machine.

Note: The proxy must strip the path prefix before forwarding the request to Webflow.

R

pathSuffix

No

String

Used to suffix the path information. The additional path information will be placed after the WebflowServlet URI. This information can then be retrieved via the request.getPathInfo() method.

R


 

Example

Listing  4-1 illustrates how to use the <webflow:createWebflowURL> JSP tag and its many attributes:

Note: It is recommended that you not hardcode values on a Web page.

Listing 4-1 Using <webflow:createWebflowURL> Tag and Attributes

<a href="<webflow:createWebflowURL event='link.yo' pathSuffix='/morepath' 
/>">A Path Suffix</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' pathPrefix='/pathprefix' />">A Path Prefix</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' pathPrefix='/pathprefix' pathSuffix='/suffix' />">A Path Prefix and Path Suffix</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' domainName='123.123.123.123' />">A Domain Name</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' pathSuffix='/morepath' extraParams='sex=male' />">A Path Suffix and One Extra Parameter</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' pathSuffix='/morepath' extraParams='sex=male&animal=dog' />">A Path Suffix and Two Extra Parameters</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' httpsInd='https' />">Always Use HTTPS</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' httpsInd='http' />">Always Use HTTP</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' httpsInd='calculate' />">Calculate HTTPS</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' encode='false' />">Do Not Encode the URL</a>
<br>
<a href="<webflow:createWebflowURL event='link.yo' doRedirect='true' />">Redirect, Instead of Forward</a> 
<br>

<webflow:createResourceURL>

The <webflow:createResourceURL> tag (Table  4-2) is used in a JSP to create a static URL for a resource, using the value of the P13N_STATIC_ROOT context parameter in the application's WEB-INF/web.xml file. This tag may be used to load GIF images from a separate server.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Class Implemented

CreateResourceURLTag


 


 

Table  4-2

Table 4-2 <webflow:createResourceURL>  

Tag Attribute

Required

Type

Description

R/C

encode

No

Boolean

Informs Webflow to encode the URL. URLs need to be encoded if you wish to maintain session state and the browser does not accept cookies. Valid values are true and false. The default value is determined by the value of ENCODE_STATIC_URLS set in the web app's web.xml file. URLs will only need to be encoded if the browser does not accept cookies. See "Encoding Webflow URLs" for more information.

R

escape

No

String

Tells Weblfow to escape the URL. URLs must be escaped if they will contain any characters (with some exceptions - see below) that would be encoded using java.net.URLEncoder.encode(). Note however that even when escaping is on the entire URL is not encoded rather the URL will be tokenized using the characters ':', '/', '?', '=', and '&' then the substrings between the tokens are encoded using java.net.URLEncoder.encode(). The tokenizing is necessary so that the URL will still be recognized by the Webflow engine.

Valid values for this attribute are 'NO', 'YES' or 'CALCULATE'.

Escaping is relatively costly and should be avoided if possible but is required if the URL might have any characters other then those ignored by java.net.URLEncoder.encode(), that is any characters other than 'a' through 'z', 'A' through 'Z, '0' through '9', '-', '_', '.', or '*' with the exception of the tokenizing characters mentioned above. If the content of the URL will not be determined until runtime and might contain "illegal" characters you should use either 'YES' or 'CALCULATE'. 'CALCULATE' should be used with care.


escape (con't)

No

String

(Continued from previous page)

For sites that have a small number of URLs that will need escaping using 'CALCULATE' rather then 'YES' will result in a performance improvement. But, since 'CALCULATE' first checks the URL then encodes if needed, sites where most URLs need escaping will have poorer performance using 'CALCULATE' rather then 'YES'.

If omitted the default value for escaping is determined by the value of ESCAPE_STATIC_URLS in the web app's web.xml file. See "Encoding Webflow URLs" for more information.


resource

No

String

Relative path to the file or image.

R

describes the <webflow:createResourceURL> tag attributes.

Example

Listing  4-2 illustrates how you can use the <webflow:createResourceURL> JSP tag to point to a specific resource, in this case, a .gif file.

Listing 4-2 Using <webflow:createResourceURL>

<img src="<webflow:createResourceURL 
resource="/images/button_checkout.gif"/>" border="0" alt="Proceed
To Checkout" border="0"></a>

 


Form Tags

The Webflow JSP form tags described in this section are used to create simple dynamic links for form actions.

Note: In the following tables, the Required column specifies if the attribute is required (yes) or optional (no). In the R/C column, C means that the attribute is a Compile time expression, and R means that the attribute can be either a Request time expression or a Compile time expression.

<webflow:form>

The <webflow:form> tag is used in a JSP to dynamically generate an HTML form tag. This tag is not as sophisticated as the <webflow:validatedForm> tag, but is simpler.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Class Implemented

WebflowFormTag


 

Note: This tag does not support the embedded Webflow form tags like the <webflow:validatedForm> does.

Table  4-3 lists the <webflow:form> tag attributes.

Table 4-3 <webflow:form>  

Tag Attribute

Required

Type

Description

R/C

domainName

No

String

Used to change the domain name or IP address of the URL. This may be used if Webflow is fronted by a proxy server and that server resides on another machine.

R

doRedirect

No

String

Causes the WebflowServlet to perform a redirect instead of a forward to a presentation node. Valid values are true and false. The default is false (not to redirect).

R

encode

No

String

Informs Webflow to encode the URL. URLs need to be encoded if you wish to maintain session state and the browser does not accept cookies. Valid values are true and false. The default value is determined by the value of ENCODE_URLS set in the web app's web.xml file. URLs will only need to be encoded if the browser does not accept cookies. See "Encoding Webflow URLs" for more information.

R

escape

No

String

Tells Weblfow to escape the URL. URLs must be escaped if they will contain any characters (with some exceptions - see below) that would be encoded using java.net.URLEncoder.encode(). Note however that even when escaping is on the entire URL is not encoded rather the URL will be tokenized using the characters ':', '/', '?', '=', and '&' then the substrings between the tokens are encoded using java.net.URLEncoder.encode(). The tokenizing is necessary so that the URL will still be recognized by the Webflow engine.

Valid values for this attribute are 'NO', 'YES' or 'CALCULATE'.

Escaping is relatively costly and should be avoided if possible but is required if the URL might have any characters other then those ignored by java.net.URLEncoder.encode(), that is any characters other than 'a' through 'z', 'A' through 'Z, '0' through '9', '-', '_', '.', or '*' with the exception of the tokenizing characters mentioned above. If the content of the URL will not be determined until runtime and might contain "illegal" characters you should use either 'YES' or 'CALCULATE'. 'CALCULATE' should be used with care.


escape (con't)

No

String

(Continued from previous page)

For sites that have a small number of URLs that will need escaping using 'CALCULATE' rather then 'YES' will result in a performance improvement. But, since 'CALCULATE' first checks the URL then encodes if needed, sites where most URLs need escaping will have poorer performance using 'CALCULATE' rather then 'YES'.

If omitted the default value for escaping is determined by the value of ESCAPE_URLS in the web app's web.xml file. See "Encoding Webflow URLs" for more information.


event

Yes

String

Webflow will use this in combination with the origin to resolve a destination in the supplied namespace XML file.

R

extraParams

No

String

Used to supply additional request parameters as name/value pairs.

R

hide

No

String

If set to false, the namespace, origin, and event will be displayed on the command line instead of as hidden form fields.
Valid values are true and false. The default value is true.

R

httpsInd

No

String

Informs Webflow to calculate the protocol or use HTTPS or HTTP. Valid values are calculate, http, and https.

Calculate will yield HTTPS if any node in the origin/event branch chain list is matched under the HTTPS_URL_PATTERNS context parameter in the application's WEB-INF/web.xml file. Calculate is more dynamic and expensive, but if the protocol needs to be forced you can specify it here.

If a value is not set for this attribute, the context-param value for HTTPSIND_DEFAULT_VALUE in web.xml is used. If no value is found there, calculate is used.

If an invalid value is used for this attribute, calculate is used.

The following example shows a protocol set in web.xml. This value would be used if no JSP tag attribute is set.

<context-param>
<param-name>HTTPSIND_DEFAULT_VALUE</param-name>
<param-value>HTTPS</param-value>
</context-param>

The possible values of HTTP, HTTPS or CALCULATE can be specified in all uppercase or all lowercase.

R

method

No

String

The method to be used for the form. Valid values are get and post. The default value is post.

R

name

No

String

The name of the form.

R

namespace

No

String

Indicates which Webflow configuration file the origin and event are defined in. If omitted, then the current (last successful) namespace is used.

R

origin

No

String

The node where the event will be coming from. Origins follow the node-name.node-type format. This may or may not be equal to the page name. If omitted, then the JSP page name is used.

R

pathPrefix

No

String

Used to prefix the path information. This string will be placed in front of the Web application URI. This can be used when the proxy server is located on the same machine.

Note: The proxy must strip the path prefix before forwarding the request to Webflow.

R

pathSuffix

No

String

Used to suffix the path information. The additional path information will be placed after the WebflowServlet URI. This information can then be retrieved via the request.getPathInfo() method.

R

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R


 

Example

Listing  4-3 illustrates how to use the <webflow:form> JSP tag:

Listing 4-3 Using <form>

<webflow:form event="button.go" > 
<input type="text" name="username" >
</webflow:form>

 


Validated Form Tags

The Webflow's validated form JSP tags are used to dynamically generate HTML forms that can be validated. These tags work in conjunction with an Input Processor and the ValidatedValues class, described in the Javadoc. When a Web site visitor enters invalid information, the visitor's input is preserved and redisplayed with an appropriate error message.

<webflow:validatedForm>

The <webflow:validatedForm> tag is used in a JSP to dynamically create the URL that defines the action in an HTML form. This tag should be used in conjunction with the com.bea.p13n.appflow.webflow.forms.* package and the other nested form tags defined in the webflow.tld file (which are described later in this section).

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

WebflowValidatedFormTag

WebflowValidatedFormTagExtraInfo


 

Table  4-4 describes the <webflow:validatedForm> tag attributes.

Table 4-4 <webflow:validatedForm>  

Tag Attribute

Required

Type

Description

R/C

applyStyle

No

String

Applies the associated CCS style as indicated by the field status to the message, the field, or to none. Therefore, valid values are message, field, and none. The default value is message.

See also:

invalidStyle

styleId

validStyle

unspecifiedStyle

R

domainName

No

String

Used to change the domain name or IP address of the URL. This may be used if Webflow is fronted by a proxy server and that server resides on another machine.

R

doRedirect

No

String

Causes the WebflowServlet to perform a redirect instead of a forward to a presentation node. Valid values are true and false. The default is false (not to redirect).

R

encode

No

String

Informs Webflow to encode the URL. URLs need to be encoded if you wish to maintain session state and the browser does not accept cookies. Valid values are true and false. The default value is determined by the value of ENCODE_URLS set in the web app's web.xml file. URLs will only need to be encoded if the browser does not accept cookies. See "Encoding Webflow URLs" for more information.

R

escape

No

String

Tells Weblfow to escape the URL. URLs must be escaped if they will contain any characters (with some exceptions - see below) that would be encoded using java.net.URLEncoder.encode(). Note however that even when escaping is on the entire URL is not encoded rather the URL will be tokenized using the characters ':', '/', '?', '=', and '&' then the substrings between the tokens are encoded using java.net.URLEncoder.encode(). The tokenizing is necessary so that the URL will still be recognized by the Webflow engine.

Valid values for this attribute are 'NO', 'YES' or 'CALCULATE'.

Escaping is relatively costly and should be avoided if possible but is required if the URL might have any characters other then those ignored by java.net.URLEncoder.encode(), that is any characters other than 'a' through 'z', 'A' through 'Z, '0' through '9', '-', '_', '.', or '*' with the exception of the tokenizing characters mentioned above. If the content of the URL will not be determined until runtime and might contain "illegal" characters you should use either 'YES' or 'CALCULATE'. 'CALCULATE' should be used with care.


escape (con't)

No

String

(Continued from previous page)

For sites that have a small number of URLs that will need escaping using 'CALCULATE' rather then 'YES' will result in a performance improvement. But, since 'CALCULATE' first checks the URL then encodes if needed, sites where most URLs need escaping will have poorer performance using 'CALCULATE' rather then 'YES'.

If omitted the default value for escaping is determined by the value of ESCAPE_URLS in the web app's web.xml file. See "Encoding Webflow URLs" for more information.


event

Yes

String

Webflow will use this in combination with the origin to resolve a destination in the supplied namespace XML file.

R

extraParams

No

String

Used to supply additional request parameters as name/value pairs.

R

hide

No

String

If set to false, the namespace, origin, and event will be displayed on the command line instead of as hidden form fields.
Valid values are true and false. The default value is true.

R

httpsInd

No

String

Informs Webflow to calculate the protocol or use HTTPS or HTTP. Valid values are calculate, http, and https.

Calculate will yield HTTPS if any node in the origin/event branch chain list is matched under the HTTPS_URL_PATTERNS context parameter in the application's WEB-INF/web.xml file. Calculate is more dynamic and expensive, but if the protocol needs to be forced you can specify it here.

If a value is not set for this attribute, the context-param value for HTTPSIND_DEFAULT_VALUE in web.xml is used. If no value is found there, calculate is used.

If an invalid value is used for this attribute, calculate is used.

The following example shows a protocol set in web.xml. This value would be used if no JSP tag attribute is set.

<context-param>
<param-name>HTTPSIND_DEFAULT_VALUE</param-name>
<param-value>HTTPS</param-value>
</context-param>

The possible values of HTTP, HTTPS or CALCULATE can be specified in all uppercase or all lowercase.

R

invalidStyle

No

String

The CSS style used to format the HTML field or the message when the field is invalid.

R

messageAlign

No

String

Indicates whether to align the error message above the field, to the right of the field, or below the field. Therefore, value values are top, right, and bottom. The default value is right.

R

method

No

String

The method to be used for the form. Valid values are get and post. The default value is post.

R

name

No

String

The name of the form.

R

namespace

No

String

Indicates which Webflow configuration file the origin and event are defined in. If omitted, then the current (last successful) namespace is used.

R

origin

No

String

The node where the event will be coming from. Origins follow the node-name.node-type format. This may or may not be equal to the page name. If omitted, then the JSP page name is used.

R

pathPrefix

No

String

Used to prefix the path information. This string will be placed in front of the Web application URI. This can be used when the proxy server is located on the same machine.

Note: The proxy must strip the path prefix before forwarding the request to Webflow.

R

pathSuffix

No

String

Used to suffix the path information. The additional path information will be placed after the WebflowServlet URI. This information can then be retrieved via the request.getPathInfo() method.

R

styleId

No

String

Scripting variable that will be set to one of invalidStyle, unSpecifiedStyle, or validStyle, depending on the field's status: valid, invalid, unspecified. Can be used for finer control of formatting the HTML form.

R

unspecifiedStyle

No

String

Used to specify the intial CSS style of the HTML field before validation occurs.

R

validStyle

No

String

The CSS style used to format the HTML field when it is valid.

R

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R


 

Example

Listing  4-4 illustrates how to use the <webflow:validatedForm> JSP tag to dynamically create the URL that defines the action in an HTML form..

Listing 4-4 Using <webflow:validatedForm>

<%
moreAttributes = "ENCTYPE=\"multipart/form-data\"";
%>
<p> use enctype="multipart/form-data" and hide="false"...
<br>
<webflow:validatedForm name="uploadFeedback"
htmlAttributes='<%= moreAttributes %>'
hide="false"
event="uploadFeedback.submit"
namespace="test_forms" >
<webflow:text size="50" name="testText"value="startingDefaultValue" />
<input type="submit" name="SubmitButton" value="SubmitButtonLabel" />
</webflow:validatedForm>

<webflow:text>

The <webflow:text> tag is used in a JSP to validate an HTML text field. This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

TexTag


 

Table  4-5 describes the <webflow:text> tag attributes.

Table 4-5 <webflow:text>  

Tag Attribute

Required

Type

Description

R/C

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R

maxlength

No

String

The maximum length of the text field.

R

name

Yes

String

The name of the text field.

R

retainValue

No

String

Determines whether or not the text field should retain its input upon redisplay. Valid values are true and false.

R

size

No

String

The size of the text field.

R

style

No

String

The HTML CSS style associated with the text field.

R

value

No

String

The initial value of the text field.

R


 

<webflow:password>

The <webflow:password> tag is similar to the <webflow:text> tag except that field input is masked with asterisks (****). This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

PasswordTag


 

Table 4-6 <webflow:password>  

Tag Attribute

Required

Type

Description

R/C

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R

maxlength

No

String

The maximum length of the password field.

R

name

Yes

String

The name of the password field.

R

retainValue

No

String

Determines whether or not the password field should retain its input upon redisplay. Valid values are true and false. The default value is false.

R

size

No

String

The size of the password field.

R

style

No

String

The HTML CSS style associated with the password field.

R

value

No

String

The initial value of the password field.

R


 

<webflow:radio>

The <webflow:radio> tag is used in a JSP to represent an HTML radio button, but preserves the input. This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

RadioTag


 

Table  4-7 describes the <webflow:radio> tag attributes.

Table 4-7 <webflow:radio>  

Tag Attribute

Required

Type

Description

R/C

checked

No

String

Determines whether or not the radio button is initially selected. Valid values are true and false. The default value is false.

R

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R

name

Yes

String

The name of the radio button field.

R

value

Yes

String

The initial value of the radio button field.

R


 

<webflow:checkbox>

The <webflow:checkbox> tag is used in a JSP to generate the required HTML for a check box. This tag will preserve input upon the InputProcessor throwing an InvalidFormFieldException. This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

CheckboxTag


 

Table  4-8 describes the <webflow:checkbox> tag attributes.

Table 4-8 <webflow:checkbox>  

Tag Attribute

Required

Type

Description

R/C

checked

No

String

Determines whether or not the check box field is initially selected. Valid values are true and false. The default value is false.

R

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R

name

Yes

String

The name of the check box field.

R

value

Yes

String

The initial value of the check box field.

R


 

<webflow:textarea>

The <webflow:textarea> tag is used in a JSP to represent an HTML text area, but preserves the input. This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

TextareaTag


 

Table 4-9 <webflow:textarea>  

Tag Attribute

Required

Type

Description

R/C

cols

No

String

The number of columns for the text area.

R

name

Yes

String

The name of the text area.

R

retainValue

No

String

Determines whether or not the text area should retain its input upon redisplay. Valid values are true and false.

R

rows

No

String

The number of rows for the text area.

R

style

No

String

The HTML CSS style associated with the text area.

R

value

No

String

The initial value of the text area.

R

wrap

No

String

Determines whether or not the text area should wrap input. Valid values are true and false. The default value is true.

R

Table  4-9 describes the <webflow:textarea> tag attributes.

<webflow:select>

The <webflow:select> tag is used in a JSP to represent a list box, but preserves its input. This tag must be nested in the <webflow:validatedForm> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

SelectTag


 

Table 4-10 <webflow:select>  

Tag Attribute

Required

Type

Description

R/C

htmlAttributes

No

String

Additional HTML attributes. Any attribute not supported directly can be supplied here.

R

multiple

No

String

Determines whether or not the list box allows multiple selections. Valid values are true and false. The default value is false.

R

name

Yes

String

The name of the list box.

R

size

No

String

The size of the list box.

R

style

No

String

The HTML CSS style attribute.

R

Table  4-10 describes the <webflow:select> tag atttibutes.

<webflow:option>

The <webflow:option> tag (Table  4-11) is used in a JSP to represent an HTML option, but preserves the input. An option is one value in a list box. This tag must be nested in the <webflow:select> tag.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

OptionTag


 

Table  4-11 describes the

Table 4-11 <webflow:option>  

Tag Attribute

Required

Type

Description

R/C

selected

No

String

Determines whether or not the option is initially selected. Valid values are true and false. The default value is false.

R

style

No

String

The HTML style attribute.

R

value

Yes

String

The value the option represents.

R

<webflow:option> tag attributes.

Example

Listing  4-5 uses each of the validated form tags in an HTML form page that gathers some information about a Web site's visitors.

Listing 4-5 Using webflow.tld Form Tags

<%@ taglib uri="webflow.tld" prefix="webflow" %>
<% String validStyle="background: white; color: black; font-family: Arial"; %> 
<% String invalidStyle="background: white; color: red; font-style: italic"; %>
<%-- If there was an InvalidFormDataException thrown, display the message --%> 
<font size="5" color="green"><webflow:getException/></font> 
<br>
<webflow:validatedForm event="button.go" applyStyle="message" 
messageAlign="right" validStyle="<%=validStyle%>"
invalidStyle="<%=invalidStyle%>" unspecifiedStyle="<%=validStyle%>" >
<p>
Username: 
<webflow:text name="username" value="start" size="15" maxlength="30"
htmlAttributes="onMouseOver=\\"self.status='User ID';return true\\"" />
<br>
Password: 
<webflow:password name="password" size="15" retainValue="true" maxlength="30"
htmlAttributes="onMouseOver=\\"self.status='Secret Password';return true\\"" />
<br>
Sex: 
<webflow:radio name="sex" checked="true" value="M"/>Male
<webflow:radio name="sex" value="F" />Female
<br>
Favorite Pet(s):
<webflow:checkbox name="cat" value="cat" />Cat <br>
<webflow:checkbox name="dog" checked="true" value="dog" />Dog <br>
<webflow:checkbox name="bird" value="bird" />Bird
<p>
Comment:
<webflow:textarea name="comment" cols="20" rows="3" value="hello" />
<br>
Hobbies:
<webflow:select name="hobbies" size="3" multiple="true">
<webflow:option value="Running"/>Running
<webflow:option value="Skiing"/>Skiing
<webflow:option value="Motocross"/>MotoX
<webflow:option value="Rugby"/>Rugby
</webflow:select>
<br>
<input type="submit" name="Submit"/> 
</webflow:validatedForm> 

 


Pipeline Session Tags

A Pipeline Session is used to share information between Input Processors, Pipeline Components, and presentation nodes. The Pipeline Session JSP tags are used to retrieve and set properties in the Pipeline Session. Presentation nodes (such as JSPs) are typically used to retrieve information from the Pipeline Session, while Input Processors and Pipeline Components place properties into the Pipeline Session. There are, however, JSP tags for setting properties in the Pipeline Session.

<webflow:setProperty>

The <webflow:setProperty> tag sets a property in the Pipeline Session.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

SetPropertyTag


 

Table  4-12 describes the <webflow:setProperty> tag attributes.

Table 4-12 <webflow:setProperty>  

Tag Attribute

Required

Type

Description

R/C

namespace

No

String

Use the namespace attribute to force webflow to use a particular webflow configuration file defining a specific origin and event. If omitted then the current namespace (last successful namespace) is used.

R

property

Yes

String

Name or key with which the given property is to be associated.

R

scope

No

String

The scope of the property. Valid values are session and request. The default value is session.

R

value

Yes

Object

The value to associate with the property, specified as an object name or Java expression.

R

Example

Listing  4-6 illustrates how to use the <webflow:setProperty> JSP tag to set some arbitrary object in the Pipeline Session (Request-scoped):

Listing 4-6 Using <webflow:setProperty>

<% SomeObject so = new SomeObject("TWO"); %>
<webflow:setProperty property="myobject" value="<%= so %>" scope="request" />

<webflow:getProperty>

The <webflow:getProperty> tag (Table  4-13) retrieves a named property from the Pipeline Session. This tag can be inlined or return a scripting variable.

Tag Library

webflow.tld

Import Statement

<%@ taglib uri="webflow.tld"
prefix="webflow" %>

Classes Implemented

GetPropertyTag

Table  4-13 describes the

Table 4-13 <webflow:getProperty>  

Tag Attribute

Required

Type

Description

R/C

namespace

No

String

Use the namespace attribute to force webflow to use a particular webflow configuration file defining a specific origin and event. If omitted then the current namespace (last successful namespace) is used.