## <sas:IMenu>

This tag is used for creating a simple IMenu for use with a variety of markuplanguages (including WML,HDML, and HTML). The user can use this class to write a simple IMenuwithout having to know the markup language that is to reference the page. NOTE: If you are using the model attribute along with tag body elements, the model must be of type javax.swing.DefaultListModel or javax.swing.DefaultComboBoxModel.

### Syntax

`<sas:IMenu
[cacheTimeToLive="int"]
[customAttributes="java.lang.String"]
[endIndex="int"]
[epilog="java.lang.String"]
[id="value"]
[instantiate="true|false"]
[locale="java.util.Locale"]
[maxItemsDisplayed="int"]
[model="java.lang.String"]
[moreURL="java.lang.String"]
[name="java.lang.String"]
[objectDataProperty="java.lang.String"]
[postMenuText="java.lang.String"]
[preMenuText="java.lang.String"]
[prolog="java.lang.String"]
[ref="java.lang.String"]
[render="true|false"]
[scope="page|request|session|application"]
[startIndex="int"]
[title="java.lang.String"]
[URLFormat="java.lang.String"]
[URLModel="java.lang.String"] />`

`<sas:IMenu
[cacheTimeToLive="int"]
[customAttributes="java.lang.String"]
[endIndex="int"]
[epilog="java.lang.String"]
[id="value"]
[instantiate="true|false"]
[locale="java.util.Locale"]
[maxItemsDisplayed="int"]
[model="java.lang.String"]
[moreURL="java.lang.String"]
[name="java.lang.String"]
[objectDataProperty="java.lang.String"]
[postMenuText="java.lang.String"]
[preMenuText="java.lang.String"]
[prolog="java.lang.String"]
[ref="java.lang.String"]
[render="true|false"]
[scope="page|request|session|application"]
[startIndex="int"]
[title="java.lang.String"]
[URLFormat="java.lang.String"]
[URLModel="java.lang.String"]>
[<sas:IMenuItem .../>]
[<sas:IText ...>
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IOption>, <sas:SetProperty> tags...]
[One or more lines of output text to be set on this tag]
</sas:IText>]
[<sas:IForm ...>
[<sas:IFormTextEntry ...>
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IOption>, <sas:SetProperty> tags...]
</sas:IFormTextEntry>]
[<sas:IFormPassword ...>
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IOption>, <sas:SetProperty> tags...]
</sas:IFormPassword>]
[<sas:IFormHidden .../>]
[<sas:IFormListBox ...>
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IOption>, <sas:SetProperty> tags...]
[One or more lines of choices to be used in the listbox]
</sas:IFormListBox>]
[<sas:IFormRadio ...>
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IOption>, <sas:SetProperty> tags...]
[One or more lines of choices to be used in the RadioTag]
</sas:IFormRadio>]
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IFormTextEntry>, <sas:IFormPassword>, <sas:IFormHidden>, <sas:IFormListBox>, <sas:IFormRadio>, <sas:IOption>, <sas:SetProperty> tags...]
</sas:IForm>]
[<sas:IMenu .../>]
[<sas:IOption .../>]
[<sas:SetProperty ...>
The value to set on the parent tag
</sas:SetProperty>]
[Additional <sas:IMenuItem>, <sas:IText>, <sas:IForm>, <sas:IMenu>, <sas:IOption>, <sas:SetProperty> tags...]
</sas:IMenu>`

### Example

`<%@taglib uri="http://www.sas.com/taglib/sas" prefix="sas"%>
<sas:IMenu title="Main Menu">
<sas:IMenuItem URL="item1.jsp" description="Menu Item 1"/>
<sas:IMenuItem URL="item2.jsp" description="Menu Item 2"/>
</sas:IMenu>
`

### Attributes

`cacheTimeToLive` | The cacheTimeToLive in seconds of the bean.
`customAttributes` | a list of attributes in the form of attribute="value", space delimited
`endIndex` | The ending index in the menu
`epilog` | Text that is output immediately after the last markup tag.
`id` | Case-sensitive name used to identify the object instance.
`instantiate` | Flag that, if true, indicates that a new instance of the underlying class should be loaded if one cannot be found in PageContext. Must be used with an id attribute.
`locale` | Specifies the locale to use for this instance of the class.
`maxItemsDisplayed` | The maximum number of items displayed at a time in the menu.
`model` | The model to be used for the menu items names.
`moreURL` | The URL for the next page
`name` | Value assigned to the markup tag's name attribute.
`objectDataProperty` | Value assigned to the output tag's objectDataProperty attribute.
`postMenuText` | The text to be displayed after the menu.
`preMenuText` | The text to be displayed before the menu.
`prolog` | Text that is output immediately preceeding the first markup tag.
`ref` | The variable String value that represents an object created earlier in the same scope.
`render` | Flag that, if true, indicates that the complete markup of the bean is output when the tag is closed. It also sets the the visible property on the underlying TransformationBean.
`scope` | The scope (or page context) within which the reference is available.
`startIndex` | The starting index in the menu
`title` | The title of the bean.
`URLFormat` | When used this String will be used for every menu item. "##" is replaced with model values.
`URLModel` | The URL model (destinations) to be used for the menu.

### More Information

To view the documentation for the related TransformationBean, see com.sas.servlet.tbeans.ipage.IMenu.

If you need to subclass the tag handler class for the sas:IMenu tag, extend com.sas.taglib.servlet.tbeans.ipage.IMenuTag.