Class BreadcrumbsTag

  • All Implemented Interfaces:
    java.io.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:
    Serialized Form
    • Nested Class Summary

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

      Fields 
      Modifier and Type Field Description
      static java.lang.String BREADCRUMBTRAIL_KEY
      The name of the session attribute representing the breadcrumbtrail
      • 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
      BreadcrumbsTag()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int doWikiStartTag()
      This method is allowed to do pretty much whatever he wants.
      int getMaxpages()
      Returns the maxpages.
      java.lang.String getSeparator()
      Get the separator string.
      void initTag()
      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​(java.lang.String separator)
      Set the separator string.
      • 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
    • Method Detail

      • 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 java.lang.String getSeparator()
        Get the separator string.
        Returns:
        The string set in setSeparator()
      • setSeparator

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

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