org.apache.struts2.views.jsp.iterator

## Class SortIteratorTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.apache.struts2.views.jsp.StrutsBodyTagSupport
      - - org.apache.struts2.views.jsp.iterator.SortIteratorTag

- 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 SortIteratorTag
      extends StrutsBodyTagSupport

  NOTE: JSP-TAG

  A Tag that sorts a List using a Comparator both passed in as the tag attribute. If 'var' attribute is specified, the sorted list will be placed into the PageContext attribute using the key specified by 'var'. The sorted list will ALWAYS be pushed into the stack and poped at the end of this tag.

  - var (String) - if specified, the sorted iterator will be place with this name under page context
  - source (Object) - the source for the sort to take place (should be iteratable) else JspException will be thrown
  - comparator* (Object) - the comparator used to do sorting (should be a type of Comparator or its decendent) else JspException will be thrown

       USAGE 1:
       <s:sort comparator="myComparator" source="myList">
            <s:iterator>
            <!-- do something with each sorted elements -->
            <s:property value="..." />
            </s:iterator>
       </s:sort>

       USAGE 2:
       <s:sort var="mySortedList" comparator="myComparator" source="myList" />

       <%
          Iterator sortedIterator = (Iterator) pageContext.getAttribute("mySortedList");
          for (Iterator i = sortedIterator; i.hasNext(); ) {
            // do something with each of the sorted elements
          }
       %>

  See Also:
    `{@literal @}s.tag name="sort" tld-body-content="JSP" description="Sort a List using a Comparator both passed in as the tag attribute."`, Serialized Form

- - ### 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 and Description
    `SortIteratorTag()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doEndTag()`
    `int` | `doStartTag()`
    `void` | `setComparator(String comparator)`
    `void` | `setSource(String source)`
    `void` | `setVar(String var)`

    - ### Methods inherited from class org.apache.struts2.views.jsp.StrutsBodyTagSupport

      `findString, findValue, findValue, getBody, getStack, toString`

    - ### 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 Detail

    - #### SortIteratorTag

          public SortIteratorTag()

  - ### Method Detail

    - #### setComparator

          public void setComparator(String comparator)

    - #### setSource

          public void setSource(String source)

    - #### setVar

          public void setVar(String var)

    - #### doStartTag

          public int doStartTag()
                         throws javax.servlet.jsp.JspException

      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

      Specified by:
        `doEndTag` in interface `javax.servlet.jsp.tagext.Tag`
      Overrides:
        `doEndTag` in class `javax.servlet.jsp.tagext.BodyTagSupport`
      Throws:
        `javax.servlet.jsp.JspException`

Copyright © 2000–2021 Apache Software Foundation. All rights reserved.