自定义标签的数组排序

来源:互联网 发布:淘宝网注册步骤 编辑:程序博客网 时间:2024/05/20 23:02

      在这里要注意的问题:set方法可以在八大基本数据之间相互转化,其他类型的数据不能进行转化,但同样可以直接传递

   java代码:

     package cn.csdn.class3g.web.tag; import java.io.IOException;import java.util.Arrays; import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport; public class TagArray extends SimpleTagSupport {    /*set方法可以在八大基本数据之间相互转化,其他类型的数据不能进行转化,但同样可以直接传递*/    private String var;    private int[] items;        public void setVar(String var) {       this.var = var;    }    public void setItems(int[] items) {       this.items = items;    }        public void doTag() throws JspException, IOException {       //数组的排序       Arrays.sort(items);       /*遍历数组并输出*/       for(int i=0;i<items.length;i++){           //将数组值传给var属性           var = ""+items[i];           this.getJspContext().setAttribute("arr",var);           //输出           this.getJspBody().invoke(null);       }    }         }


 

Arrays.sort(items);的解释:

   J2eeAPI中Array中的sort(byte[] a)方法

public static void sort(byte[] a)

对指定的 byte 型数组按数字升序进行排序。该排序算法是一个经过调优的快速排序法,改编自 Jon L. Bentley 和 M. Douglas McIlroy 合著的 Engineering a Sort Function", Software-Practice and ExperienceVol. 23(11) P. 1249-1265 (November 1993)。此算法在许多数据集上提供n*log(n) 性能,这导致其他快速排序会降低二次型性能。

参数:

a - 要排序的数组

jsp文件的部分代码:

  

    <!-- 将数组值直接传入属性中 -->    <%    int arr[] = {100,40,39,86,54};    request.setAttribute("arr",arr);     %>     <!-- 获取属性值 -->     <tag:tag var="arrry"items="${arr}">        ${arr}     </tag:tag>


 

 

tld文件的部分代码:

<description>there are custom tags of tag</description>    <tlib-version>1.0</tlib-version>    <short-name>tag</short-name>    <uri>http://cn.csdn.web.tag</uri>      <tag>        <description>if else demo</description>        <name>tag</name>        <tag-class>cn.csdn.class3g.web.tag.TagArray</tag-class>        <body-content>scriptless</body-content>                    <attribute>             <name>var</name>             <required>true</required>             <rtexprvalue>false</rtexprvalue>        </attribute>                 <attribute>          <name>items</name>          <required>true</required>          <rtexprvalue>true</rtexprvalue>        </attribute></tag>  


 

要注意的问题:

jsp文件中务必要导入标签描述文件:

<%@ taglib uri="http://cn.csdn.web.tag" prefix="tag"%>


 

原创粉丝点击