Utility Tag Library: Overview

The Utility Tag Library consists of the following tags:

Context

This tag is used to reference certain state pertinent to the utility tag service.

Navigation

These tags are used to construct dynamically generated link-type tags.

Beans & Collections

These tags operate on beans; usually with properties.

Session

This tag provides access to session attributes .

Message Catalog

These tags provide access to message catalogs of localized text.

Miscellaneous

Tag Attribute Evaluation

Most attributes of most tags of the MA taglib set are subject to the following rules of evaluation prior to tag processing:

Examples of Tag Attribute Evaluation

<%-- attribute evaluation example --%>
<mail:message id="newmsg">
<mail:set property="to" value="$(to)"/>
</mail:message>

The value attribute will evaluate to the value of the http request parameter named "to".

<%-- another attribute evaluation example --%>
<mail:message name="newmsg">
<mail:set property="to" value="${newmsg:to} $(to)"/>
</mail:message>

The value attribute will evaluate to the value of the "to" property of the "newmsg" bean, followed by a space, followed by the value of the http request parameter named "to".

Resource Lookup For url, include, and forward Tags

When the "comp" and "file" attributes are used in conjunction with the url, include, and forward tags, the resource that is the subject of the tag will be determined using the following lookup rules:
  1. A series of values will be collected that will be used as qualifying elements of a resource lookup process...
  2. <jsproot> will be set to the value of the "ps.jsp.doc.root" property found in /etc/opt/SUNWportal/MAPConfig.properties, e.g., "/jsp".
  3. <type>, if it can be determined, will be set to the current desktop type, e.g. "MAP".
  4. <locale>, if it can be determined, will be set to the user's current locale, e.g. "en".
  5. <variant>, if it can be determined, will be set to the current locale variant, e.g., "us".
  6. <component> will be set to the value of the "comp" attribute, e.g., "mail", "cal", or "ab".
  7. <subcomponent> will be set to reflect the current type of backend service is associated with <component>, e.g., "exchange", "notes", or "sun-one".
  8. <clientpath> will be set to a relative file path based upon the client type from which the request to the JSP is being made.  This file path is intended to reference a hierarchy of directories, the descent into which represents increasingly specific associations between the JSPs stored at any given level, and the device making the request, e.g., "wml/UP", or "wml/Nokia", etc..
  9. Broadly, a search will be made for the file/resource specified by the "file" attribute in the following order:
		<jsproot>/<type>_<locale>/<component>/<subcomponent>/<clientpath>
<jsproot>/<type>_<locale>/<component>/<subcomponent>
<jsproot>/<type>_<locale>/<component>
<jsproot>/<type>_<locale>/<subcomponent>/<clientpath>
<jsproot>/<type>_<locale>/<subcomponent>
<jsproot>/<type>_<locale>
<jsproot>/<type>/<component>/<subcomponent>/<clientpath>
<jsproot>/<type>/<component>/<subcomponent>
<jsproot>/<type>/<component>
<jsproot>/<type>/<subcomponent>/<clientpath>
<jsproot>/<type>/<subcomponent>
<jsproot>/<type>
<jsproot>/default_<locale>/<component>/<subcomponent>/<clientpath>
<jsproot>/default_<locale>/<component>/<subcomponent>
<jsproot>/default_<locale>/<component>
<jsproot>/default_<locale>/<subcomponent>/<clientpath>
<jsproot>/default_<locale>/<subcomponent>
<jsproot>/default_<locale>
<jsproot>/default/<component>/<subcomponent>/<clientpath>
<jsproot>/default/<component>/<subcomponent>
<jsproot>/default/<component>
<jsproot>/default/<subcomponent>/<clientpath>
<jsproot>/default/<subcomponent>
<jsproot>/default
<jsproot>/<type>_<locale>/<component>/<clientpath>
<jsproot>/<type>_<locale>/<component>
<jsproot>/<type>_<locale>/<clientpath>
<jsproot>/<type>/<component>/<clientpath>
<jsproot>/<type>/<clientpath>
<jsproot>/default_<locale>/<component>/<clientpath>
<jsproot>/default_<locale>/<component>
<jsproot>/default_<locale>/<clientpath>
<jsproot>/default/<component>/<clientpath>
<jsproot>/default/<clientpath>


For each of the above listed directory path templates, and in turn, for each of the directories in the relative path <clientpath> (processed lowest directory to highest directory), the file/resource specified by "file" will be tested for existence.  The search terminates upon first match or upon list exhaustion.  The search only occurs within the confines of the web application within which the JSPs have been deployed and to which the request has been directed.