NetUI Tag Library Documentation (Version 1.0.1)

netui
netui:anchor Tag

Generates an anchor that can link to another document or invoke an action method in the Controller file.

Syntax

<netui:anchor
    [accessKey="string_accessKey"]
    [action="string_action"]
    [charSet="string_charset"]
    [clientAction="string_clientAction"]
    [coords="string_coordinates"]
    [dir="string_dir"]
    [disableSecondClick="boolean_disableSecondClick"]
    [formSubmit="boolean_formSubmit"]
    [href="string_href"]
    [hrefLang="string_hreflang"]
    [lang="string_lang"]
    [linkName="string_linkName"]
    [location="string_location"]
    [onBlur="string_onBlur"]
    [onClick="string_onClick"]
    [onDblClick="string_onDblClick"]
    [onFocus="string_onFocus"]
    [onKeyDown="string_onKeyDown"]
    [onKeyPress="string_onKeyPress"]
    [onKeyUp="string_onKeyUp"]
    [onMouseDown="string_onMouseDown"]
    [onMouseMove="string_onMouseMove"]
    [onMouseOut="string_onMouseOut"]
    [onMouseOver="string_onMouseOver"]
    [onMouseUp="string_onMouseUp"]
    [popup="boolean_popup"]
    [rel="string_rel"]
    [rev="string_rev"]
    [shape="string_shape"]
    [style="string_style"]
    [styleClass="string_styleClass"]
    [tabindex="string_tabIndex"]
    [tagId="string_tagId"]
    [target="string_action"]
    [targetScope="string_targetScope"]
    [title="string_title"]
    [type="string_type"]
    [value="string_value"] >
    ... JSP content ...
</netui:anchor>

Description

Generates an anchor that can link to another document or invoke an action method in the Controller file. The <netui:anchor> tag also supports JavaScript-based form submission and URL re-writing.

An anchor must have one of the following attributes to correctly create the hyperlink:

Attributes
accessKey
Required: No  |   Type: char  |   Supports runtime evaluation / JSP Expression Language: Yes

The keyboard navigation key for the element. The following values are not recommended because they are often used by browsers: A, C, E, F, G, H, V, left arrow, and right arrow
action
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The action method to invoke. The action method must be in the Controller file of the Page Flow directory.
charSet
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The character set.
clientAction
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The action (NetUI JavaScript) to run on the client.
coords
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The coordinates.
dir
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Specifies the direction of text. (LTR | RTL)
disableSecondClick
Required: No  |   Type: boolean  |   Supports runtime evaluation / JSP Expression Language: Yes

Boolean. If disableSecondClick is set to true, the anchor will disable itself after being clicked.
formSubmit
Required: No  |   Type: boolean  |   Supports runtime evaluation / JSP Expression Language: Yes

Boolean. If formSubmit is set to true, and the <netui:anchor> tag is within a <netui:form> tag, then the form data will be submitted to the method named in the <netui:form> tag's action attribute.
href
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The URL to go to.
hrefLang
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The HREF lang.
lang
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Sets the language code for the base language of an element's attribute values and text content.
linkName
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

An internal place on the page to go to.
location
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Location within the URI to visit.
onBlur
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onBlur JavaScript event.
onClick
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onClick JavaScript event.
onDblClick
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onDblClick JavaScript event.
onFocus
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onFocus JavaScript event.
onKeyDown
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onKeyDown JavaScript event.
onKeyPress
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onKeyPress JavaScript event.
onKeyUp
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onKeyUp JavaScript event.
onMouseDown
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onMouseDown JavaScript event.
onMouseMove
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onMouseMove JavaScript event.
onMouseOut
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onMouseOut JavaScript event.
onMouseOver
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onMouseOver JavaScript event.
onMouseUp
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The onMouseUp JavaScript event.
popup
Required: No  |   Type: boolean  |   Supports runtime evaluation / JSP Expression Language: Yes

Boolean. If popup is set to true, the anchor will open a popup window.
rel
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The relationship between the current document and the target Url.
rev
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Describes a reverse link from the anchor specified to the current document.
shape
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The shape.
style
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Specifies style information for the current element.
styleClass
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The style class (a style sheet selector).
tabindex
Required: No  |   Type: int  |   Supports runtime evaluation / JSP Expression Language: Yes

The tabIndex of the rendered HTML tag. This attribute determines the position of the rendered HTML tag in the sequence of tags that the user may advance through by pressing the TAB key.
tagId
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

String value. Sets the id (or name) attribute of the rendered HTML tag. Note that the real id attribute rendered in the browser may be changed by the application container (for example, Portal containers may change the rendered id value to ensure the uniqueness of id's on the page). In this case, the real id rendered in the browser may be looked up through the JavaScript function lookupIdByTagId( tagId, tag ).

For example, assume that some tag's tagId attribute is set to foo.

    <netui:textBox tagId="foo" />

Then the following JavaScript function will return the real id attribute rendered in the browser:

    lookupIdByTagId( "foo", this )

To get a <netui:form> element and all of its children elements in JavaScript, use the same JavaScript function lookupIdByTagId( tagId, tag ). For example, assume that there is a <netui:form> whose tagId attribute is set to bar.

    <netui:form tagId="bar" >

Then the following JavaScript function will return the <netui:form> element and its children (packaged as an array).

    document[lookupIdByTagId( "bar", this )]

To retreive the value entered into a <netui:textBox> within the <netui:form> tag, use the following JavaScript expression.

    document[lookupIdByTagId("bar", this)][lookupIdByTagId("foo", this)].value

The second parameter ensures that the JavaScript function begins its search within the correct Portlet scope. Pass the JavaScript keyword this as the second parameter.

target
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The window target.
targetScope
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The target scope in which the associated action's page flow resides.
title
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The title.
type
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

The type.
value
Required: No  |   Type: String  |   Supports runtime evaluation / JSP Expression Language: Yes

Set the text of the anchor, overriding the body content.

Example

Submitting Form Data

In this sample, clicking on this anchor submits the form data and invokes the method submitForm.

      <netui:form action="formSubmit">
          Firstname:
          <netui:textBox dataSource="actionForm.firstname"/>
          Lastname:
          <netui:textBox dataSource="actionForm.lastname"/>
          <netui:anchor formSubmit="true">Submit</netui:anchor>
      </netui:form>

If the formSubmit attribute is set to true and no onClick attribute is set, the following JavaScript function will be written to the HTML page. This JavaScript function will be referenced by the onclick attribute of the generated anchor tag.

  function anchor_submit_form(netuiName, newAction)
  {
    for (var i=0; i<document.forms.length; i++) {
       if (document.forms[i].id == netuiName) {
          document.forms[i].method = "POST";
          document.forms[i].action = newAction;
          document.forms[i].submit();
       }
     }
  }

The JavaScript function will be invoked by the generated HTML anchor tag as follows:

 <a href="/WebApp/tagSamples/anchor/formSubmit.do"
       onClick='anchor_submit_form("Netui_Form_0","/WebApp/tagSamples/anchor/formSubmit.do");return false;'>Submit</a>

Custom JavaScript Functions

It is possible to write a custom onClick JavaScript event handler that would do additional work, for example form validation, and still POST the form correctly. To accomplish this, add the custom JavaScript method to the page:

 function SubmitFromAnchor()
 {
   // implement custom logic here

   for(var i=0; i<document.forms.length; i++)
   {
     // submit to the action /aWebapp/formPost.do
     if (document.forms[i].action == "/aWebapp/formPost.do")
     {
       document.forms[i].method="POST";
       document.forms[i].action="/aWebapp/formPost.do";
       document.forms[i].submit();
     }
   }
 }
Then reference the JavaScript method from the <netui:anchor> tag:
 <netui:anchor formSubmit="true" onClick="SubmitFromAnchor(); return false;">Submit</netui:anchor>


Tag Information
Tag Classorg.apache.beehive.netui.tags.html.Anchor
TagExtraInfo ClassNone
Body ContentJSP
Display NameNone

See Also

<netui:attribute> Tag

String