自定义标签的数组排序

      在这里要注意的问题: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"%>


 

发布了62 篇原创文章 · 获赞 7 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章