Skip to content
Johannes Geppert edited this page May 30, 2023 · 4 revisions

Introduction

This tag generates an menu widget.

For custom themes for the menu take look at the head tag.

Samples

Menu with items and submenus

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
	<sj:head jqueryui="true"/>
  </head>
  <body>
	<sj:menu id="menuWithItems" cssStyle="width:50%">
	<sj:menuItem title="Struts2" href="https://struts.apache.org"/>
	<sj:menuItem title="Struts2 jQuery News" menuIcon="ui-icon-extlink" href="https://www.jgeppert.com/category/java/struts2-jquery/"/>
	<sj:menuItem title="Struts2 Plugins">
		<sj:menu id="subMenuPlugins" cssStyle="width:50%">
			<sj:menuItem title="Struts2 Plugins" href="https://cwiki.apache.org/S2PLUGINS/home.html"/>
			<sj:menuItem title="Struts2 jQuery Plugin" href="https://github.com/struts-community-plugins/struts2-jquery/"/>
			<sj:menuItem title="Struts2 Bootstrap Plugin" href="https://github.com/struts-community-plugins/struts2-bootstrap/"/>
		</sj:menu>
	</sj:menuItem>

	<sj:menuItem title="Struts2 @ Social Media">
		<sj:menu id="subMenuSocialMedia" cssStyle="width:50%">
			<sj:menuItem title="Struts2 @ Twitter" href="https://twitter.com/TheApacheStruts"/>
			<sj:menuItem title="Struts2 @ Google+" href="https://www.google.com/+ApacheStruts"/>
			<sj:menuItem title="Struts2 @ Facebook" href="https://www.facebook.com/struts2"/>
		</sj:menu>
	</sj:menuItem>

	<sj:menuItem title="AJAX">
		<sj:menu id="subMenuAjax" cssStyle="width:50%">
			<s:url var="ajax1" value="/ajax1.action"/>
			<sj:menuItem title="Ajax 1" href="%{ajax1}" targets="result"/>
			<s:url var="ajax2" value="/ajax2.action"/>
			<sj:menuItem title="Ajax 2" href="%{ajax2}" targets="result" effect="highlight" effectDuration="2500"/>
			<s:url var="ajax3" value="/ajax3.action"/>
			<sj:menuItem title="Ajax 3" href="%{ajax3}" targets="result" onBeforeTopics="beforeLink" onCompleteTopics="completeLink"/>
			<s:url var="ajax4" value="/ajax4.action"/>
			<sj:menuItem title="Ajax 4" href="%{ajax4}" menuIcon="ui-icon-gear" targets="result" effect="bounce" effectDuration="1000"/>
		</sj:menu>
	</sj:menuItem>
	</sj:menu>
  </body>
</html>

Menu generated from a list of string values

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
	<sj:head jqueryui="true"/>
  </head>
  <body>
	<s:url var="echourl" action="echo"/>
	<sj:menu
		id="menuStringList"
		href="%{echourl}"
		paramName="echo"
		targets="result"
		cssStyle="width:50%"
		list="#{'Java', 'JavaScript', 'Scala', 'JRuby'}"
	/>
	<strong>Result Div :</strong>
  </body>
</html>

Attributes

Name

Required

Default

Evaluated

Type

Description

accesskey false false String Set the html accesskey attribute on rendered html element
cssClass false false String The css class to use for element
cssErrorClass false false String The css error class to use for element
cssErrorStyle false false String The css error style definitions for element to use
cssStyle false false String The css style definitions for element to use
disabled false false false Boolean Disables the menu if set to true.
errorPosition false false String Define error position of form element (top|bottom)
href false false String The URL to call to obtain the content. Note: If used with ajax context, the value must be set as an url tag value.
id false false String HTML id attribute
javascriptTooltip false false false Boolean Use JavaScript to generate tooltips
key false false String Set the key (name, value, label) for this particular component
label false false String Label expression used for rendering an element specific label
labelSeparator false : false String String that will be appended to the label
labelposition false false String Define label position of form element (top/left)
list false false String Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.
listKey false false String Property of list objects to get field value from
listValue false false String Property of list objects to get field content from
name false false String The name to set for element
onAfterValidationTopics false false String A comma delimited list of topics that published after the Ajax validation. event.originalEvent.formvalidate to see if validation passed/failed.
onAlwaysTopics false false String A comma delimited list of topics that published always
onBeforeTopics false false String Topics that are published before a load
onBlurTopics false false String A comma delimited list of topics that published when the element is blured
onChangeTopics false false String A comma delimited list of topics that published when the element changed
onCompleteTopics false false String A comma delimited list of topics that published when the element ajax request is completed (will override settings for a target container if provided)
onDisableTopics false false String A comma delimited list of topics that published when the element disabled
onEnableTopics false false String A comma delimited list of topics that published when the element is enabled
onErrorTopics false false String A comma delimited list of topics that published when the element ajax request returns an error (will override settings for a target container if provided)
onFocusTopics false false String A comma delimited list of topics that published when the element is focused
onSuccessTopics false false String A comma delimited list of topics that published when the element ajax request is completed successfully (will override settings for a target container if provided)
onblur false false String Set the html onblur attribute on rendered html element
onchange false false String Set the html onchange attribute on rendered html element
onclick false false String Set the html onclick attribute on rendered html element
ondblclick false false String Set the html ondblclick attribute on rendered html element
onfocus false false String Set the html onfocus attribute on rendered html element
onkeydown false false String Set the html onkeydown attribute on rendered html element
onkeypress false false String Set the html onkeypress attribute on rendered html element
onkeyup false false String Set the html onkeyup attribute on rendered html element
onmousedown false false String Set the html onmousedown attribute on rendered html element
onmousemove false false String Set the html onmousemove attribute on rendered html element
onmouseout false false String Set the html onmouseout attribute on rendered html element
onmouseover false false String Set the html onmouseover attribute on rendered html element
onmouseup false false String Set the html onmouseup attribute on rendered html element
onselect false false String Set the html onselect attribute on rendered html element
openTemplate false false String Set template to use for opening the rendered html.
paramName false id false String Parameter name for the href url used when rendered from a collection. e.g. id,name
requiredLabel false false false Boolean If set to true, the rendered element will indicate that input is required
requiredPosition false false String Define required position of required form element (left|right)
tabindex false false String Set the html tabindex attribute on rendered html element
targets false false String A comma separated list of ids of container elements to load with the contents from the result of this request
template false false String The template (other than default) to use for rendering the element
templateDir false false String The template directory.
title false false String Set the html title attribute on rendered html element
tooltip false false String Set the tooltip of this particular component
tooltipConfig false false String Deprecated. Use individual tooltip configuration attributes instead.
tooltipCssClass false StrutsTTClassic false String CSS class applied to JavaScrip tooltips
tooltipDelay false Classic false String Delay in milliseconds, before showing JavaScript tooltips
tooltipIconPath false false String Icon path used for image that will have the tooltip
value false false String Preset the value of input element.