广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java中的JSF DataTable排序是什么?_北大青鸟IT软件学校

作者:邓华发布时间:2021-04-28分类:Java技术浏览:938


导读:Java中的JSF DataTable排序是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

Java中的JSF DataTable排序是什么?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

以下代码显示如何对DataTable进行排序。

例子

以下代码来自table-style.css。

.book-table-header{
 bbook-bottom:1px solid #BBB;
 padding:16px;
}

.book-table-odd-row{
 bbook-top:1px solid #BBB;
}

.book-table-even-row{
 bbook-top:1px solid #BBB;
}

以下代码来自demo.xhtml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
     xmlns:h="http://java.sun.com/jsf/html"
     xmlns:f="http://java.sun.com/jsf/core"
     xmlns:c="http://java.sun.com/jsp/jstl/core"
     >
   <h:head>
     <h:outputStylesheet library="css" name="table-style.css"  />
   </h:head>
   <h:body>
     
     <h1>JSF 2 dataTable sorting example</h1>
     <h:form>
       <h:dataTable value="#{book.bookList}" var="o"
         styleClass="book-table"
         headerClass="book-table-header"
         rowClasses="book-table-odd-row,book-table-even-row"
       >

         <h:column>
           <f:facet name="header">
             <h:commandLink action="#{book.sortByBookNo}">
               Book No
             </h:commandLink>
           </f:facet>
           #{o.bookNo}
         </h:column>

         <h:column>
           <f:facet name="header">
               Product Name
         </f:facet>
           #{o.productName}
         </h:column>

         <h:column>
           <f:facet name="header">Price</f:facet>
           #{o.price}
         </h:column>

         <h:column>
           <f:facet name="header">Quantity</f:facet>
           #{o.qty}
         </h:column>

       </h:dataTable>
       </h:form>
       
   </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="book")
@SessionScopedpublic class UserBean implements Serializable{  private static final long serialVersionUID = 1L;  private List<Book> bookArrayList;  private boolean sortAscending = true;
 
 private static final Book[] bookList = {    new Book("1234", "Java", new BigDecimal("2303.0"), 3),    new Book("3211", "Web", new BigDecimal("4232.00"), 6),    new Book("2344", "SQL", new BigDecimal("5230.00"), 10),    new Book("5643", "CSS", new BigDecimal("11320.00"), 9),    new Book("4565", "HTML",new BigDecimal("232.00"), 20)
 };  
 public UserBean(){

   bookArrayList = new ArrayList<Book>(Arrays.asList(bookList));

 }  
 public List<Book> getBookList() {
   
   return bookArrayList;

 }

 //sort by book no  public String sortByBookNo() {    if(sortAscending){
     //ascending book
     Collections.sort(bookArrayList, new Comparator<Book>() {
       @Override        public int compare(Book o1, Book o2) {
         return o1.getBookNo().compareTo(o2.getBookNo());
       }
     });
     sortAscending = false;
   }else{
     //descending book
     Collections.sort(bookArrayList, new Comparator<Book>() {
       @Override        public int compare(Book o1, Book o2) {
         return o2.getBookNo().compareTo(o1.getBookNo());
       }
     });
     sortAscending = true;
   }
   return null;
 }  public static class Book{
   String bookNo;
   String productName;
   BigDecimal price;
   int qty;    public Book(String bookNo, String productName,
       BigDecimal price, int qty) {
     this.bookNo = bookNo;
     this.productName = productName;
     this.price = price;
     this.qty = qty;
   }    public String getBookNo() {
     return bookNo;
   }    public void setBookNo(String bookNo) {
     this.bookNo = bookNo;
   }    public String getProductName() {
     return productName;
   }    public void setProductName(String productName) {
     this.productName = productName;
   }    public BigDecimal getPrice() {
     return price;
   }    public void setPrice(BigDecimal price) {
     this.price = price;
   }    public int getQty() {
     return qty;
   }    public void setQty(int qty) {
     this.qty = qty;
   }
   
   
 }
}

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java14.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表