Class BreadcrumbsTag

java.lang.Object
javax.servlet.jsp.tagext.TagSupport
org.apache.wiki.tags.WikiTagBase
org.apache.wiki.tags.BreadcrumbsTag
All Implemented Interfaces:
Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

public class BreadcrumbsTag extends WikiTagBase
Implement a "breadcrumb" (most recently visited) trail. This tag can be added to any view jsp page. Separate breadcrumb trails are not tracked across multiple browser windows.
The optional attributes are:

maxpages, the number of pages to store, 10 by default
separator, the separator string to use between pages, " | " by default

This class is implemented by storing a breadcrumb trail, which is a fixed size queue, into a session variable "breadCrumbTrail". This queue is displayed as a series of links separated by a separator character.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Extends the LinkedList class to provide a fixed-size queue implementation
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The name of the session attribute representing the breadcrumbtrail

    Fields inherited from class org.apache.wiki.tags.WikiTagBase

    m_wikiContext

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

    id, pageContext

    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
    This method is allowed to do pretty much whatever he wants.
    int
    Returns the maxpages.
    Get the separator string.
    void
    This method is called when the tag is encountered within a new request, but before the setXXX() methods are called.
    void
    setMaxpages(int maxpages)
    Sets how many pages to show.
    void
    setSeparator(String separator)
    Set the separator string.

    Methods inherited from class org.apache.wiki.tags.WikiTagBase

    doCatch, doEndTag, doFinally, doStartTag, setId, setPageContext

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

    doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setParent, setValue

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • initTag

      public void initTag()
      This method is called when the tag is encountered within a new request, but before the setXXX() methods are called. The default implementation does nothing.
      Overrides:
      initTag in class WikiTagBase
    • getMaxpages

      public int getMaxpages()
      Returns the maxpages. This may differ from what was set by setMaxpages().
      Returns:
      The current size of the pages.
    • setMaxpages

      public void setMaxpages(int maxpages)
      Sets how many pages to show.
      Parameters:
      maxpages - The amount.
    • getSeparator

      public String getSeparator()
      Get the separator string.
      Returns:
      The string set in setSeparator()
    • setSeparator

      public void setSeparator(String separator)
      Set the separator string.
      Parameters:
      separator - A string which separates the page names.
    • doWikiStartTag

      public int doWikiStartTag() throws IOException
      This method is allowed to do pretty much whatever he wants. We then catch all mistakes.
      Specified by:
      doWikiStartTag in class WikiTagBase
      Throws:
      IOException