Class SubnavTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.jivesoftware.admin.SubnavTag
All Implemented Interfaces:
Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class SubnavTag extends javax.servlet.jsp.tagext.BodyTagSupport

A simple JSP tag for displaying sub-navigation bar information in the admin console. The TabsTag is similiar to this one.

Attributes:

  • bean (required) - the id of the request attribute which is a AdminPageBean instance. This class holds information needed to properly render the admin console sidebar.
  • css (optional) - the CSS class name used to decorate the LI of the sidebar items.
  • currentcss (optional) - the CSS class name used to decorate the LI of the currently selected sidebar item.
  • heaadercss (optional) - the CSS class name used to decorate the LI of the header section.

This class assumes there is a request attribute with the name specified by the bean attribute.

This tag prints out minimal HTML. It basically prints an unordered list (UL element) with each LI containing an "A" tag specfied by the body content of this tag. For example, the body should contain a template A tag which will have its values replaced at runtime:



      &lt;jive:sidebar bean="jivepageinfo"&gt; <br>
          &nbsp;&nbsp;&nbsp;&lt;a href="[url]" title="[description]"&gt;[name]&lt;/a&gt; <br>
          &nbsp;&nbsp;&nbsp;&lt;jive:subsidebar&gt; ... &lt;/jive:subsidebar&gt; <br>
      &lt;/jive:sidebar&gt;

There is a subsidebar tag for rendering the sub-sidebars. For more info, see the SubSidebarTag class.

Available tokens for the "A" tag are:

  • [id] - the ID of the sidebar item, usually not needed.
  • [name] - the name of the sidebar item, should be thought of as the display name.
  • [url] - the URL of the sidebar item.
  • [description] - the description of the sidebar item, good for mouse rollovers.
See Also:
  • Field Summary

    Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport

    bodyContent

    Fields inherited from class javax.servlet.jsp.tagext.TagSupport

    id, pageContext

    Fields inherited from interface javax.servlet.jsp.tagext.BodyTag

    EVAL_BODY_BUFFERED, EVAL_BODY_TAG

    Fields inherited from interface javax.servlet.jsp.tagext.IterationTag

    EVAL_BODY_AGAIN

    Fields inherited from interface javax.servlet.jsp.tagext.Tag

    EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Gets the AdminPageBean instance from the request.
    int
    Does nothing, returns BodyTag.EVAL_BODY_BUFFERED always.
    Returns the value of the CSS class to be used for tab decoration.
    Returns the value of the CSS class to be used for the currently selected LI (tab).
    void
    Sets the CSS used for tab decoration.
    void
    setCurrentcss(String currentcss)
    Sets the CSS class value for the currently selected tab.

    Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport

    doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent

    Methods inherited from class javax.servlet.jsp.tagext.TagSupport

    findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface javax.servlet.jsp.tagext.Tag

    getParent, setPageContext, setParent
  • Constructor Details

    • SubnavTag

      public SubnavTag()
  • Method Details

    • getCss

      public String getCss()
      Returns the value of the CSS class to be used for tab decoration. If not set will return a blank string.
      Returns:
      the CSS for the tab
    • setCss

      public void setCss(String css)
      Sets the CSS used for tab decoration.
      Parameters:
      css - The CSS for the tab
    • getCurrentcss

      public String getCurrentcss()
      Returns the value of the CSS class to be used for the currently selected LI (tab). If not set will return a blank string.
      Returns:
      the CSS class
    • setCurrentcss

      public void setCurrentcss(String currentcss)
      Sets the CSS class value for the currently selected tab.
      Parameters:
      currentcss - the CSS class
    • doStartTag

      public int doStartTag() throws javax.servlet.jsp.JspException
      Does nothing, returns BodyTag.EVAL_BODY_BUFFERED always.
      Specified by:
      doStartTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
      Throws:
      javax.servlet.jsp.JspException
    • doEndTag

      public int doEndTag() throws javax.servlet.jsp.JspException
      Gets the AdminPageBean instance from the request. If it doesn't exist then execution is stopped and nothing is printed. If it exists, retrieve values from it and render the sidebar items. The body content of the tag is assumed to have an A tag in it with tokens to replace (see class description) as well as having a subsidebar tag..
      Specified by:
      doEndTag in interface javax.servlet.jsp.tagext.Tag
      Overrides:
      doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
      Returns:
      Tag.EVAL_PAGE after rendering the tabs.
      Throws:
      javax.servlet.jsp.JspException - if an exception occurs while rendering the sidebar items.