A Simple Example
The bean
and logic
tag libraries
used in the following example are standard Apache Struts tag libraries.
For information about Struts, see
http://struts.apache.org/.
First the required tag libraries are imported, and required publication and section variables are created.
<%@ taglib uri="http://www.escenic.com/taglib/escenic-menu" prefix="MENU" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="BEAN" %> <BEAN:define id="pub" name="apipublication" type="neo.xredsys.api.Publication" /> <BEAN:define id="sec" name="section" type="neo.xredsys.api.Section" />
A menu object is then retrieved from the current publication and made available as a scripting variable.
<MENU:get id="menu" menuName="main" pubId='<%="" + pub.getId()%>'/>
The value specified with the menuName
attribute must
be the name of one of the publication's menus, as defined in the
menu
resource. The retrieved menu object is made
available as a scripting variable called menu
.
The following code iterates over the entries, displaying a link to each section in the menu.
<MENU:iterate id="currentObject" menu="<%=menu%>" currentSectionID="<%= sec.getId() %>"> <MENU:sectionView lang="no" levelName="menu-level"> <a href='<BEAN:write name="url"/>'><BEAN:write name="text"/></a> </MENU:sectionView> </MENU:iterate>
The iterate
tag executes the code in its body once
for each menu item. The sectionView
tag is therefore
executed once for item in the menu, but only actually does anything for
menu items of type section
. Other tags are available
for handling other menu item types:
articleView
-
For handling
article
menu items. urlView
-
For handling
link
menu items. spaceView
-
For handling
space
menu items.