Edit on GitHub << back to Tag Reference

# sort

Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.

## Description

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.

Sort a List using a Comparator both passed in as the tag attribute.

## Attributes

#### Dynamic Attributes Allowed: false
#### Name | #### Required | #### Default | #### Evaluated | #### Type | #### Description
--- | --- | --- | --- | --- | ---
comparator | true |  | false | java.util.Comparator | The comparator to use
performClearTagStateForTagPoolingServers | false | false | false | Boolean | Whether to clear all tag state during doEndTag() processing
source | false |  | false | String | The iterable source to sort
var | false |  | false | String | The name to store the resultant iterator into page context, if such name is supplied

## Examples

Example 1

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

Example 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
       }
    %>