java jsf table_JSF DataTable排序示例

本文详细介绍了如何在JSF应用中使用DataTable进行数据排序,包括CSS样式设置、Java代码实现和部署步骤。通过UserBean.java中的示例,学习者可以学会如何根据BookNo字段进行升序或降序排序。
摘要由CSDN通过智能技术生成

JSF教程 - JSF DataTable排序示例

以下代码显示如何对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"?>

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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"

>

JSF 2 dataTable sorting example

styleClass="book-table"

headerClass="book-table-header"

rowClasses="book-table-odd-row,book-table-even-row"

>

Book No

#{o.bookNo}

Product Name

#{o.productName}

Price

#{o.price}

Quantity

#{o.qty}

下面的代码来自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")

@SessionScoped

public class UserBean implements Serializable{

private static final long serialVersionUID = 1L;

private List 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(Arrays.asList(bookList));

}

public List getBookList() {

return bookArrayList;

}

//sort by book no

public String sortByBookNo() {

if(sortAscending){

//ascending book

Collections.sort(bookArrayList, new Comparator() {

@Override

public int compare(Book o1, Book o2) {

return o1.getBookNo().compareTo(o2.getBookNo());

}

});

sortAscending = false;

}else{

//descending book

Collections.sort(bookArrayList, new Comparator() {

@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;

}

}

}下载 DataTable_Sort.zip

运行

将生成的WAR文件从目标文件夹复制到Tomcat部署文件夹,并运行Tomcat-Install-folder/bin/startup.bat。

Tomcat完成启动后,在浏览器地址栏中键入以下URL。http://localhost:8080/simple-webapp/demo.xhtml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值