欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

java jsf table_JSF数据表(h:dataTable)排序数据

发布时间:2023/12/20 javascript 70 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java jsf table_JSF数据表(h:dataTable)排序数据 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格。使用DataTable,我们可以迭代收集或数组数组来显示数据。下面我们来学习如何向DataTable排序数据。

要使用DataTable,我们需要添加以下HTML头。

xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://java.sun.com/jsf/html">

以下JSF标签 -

styleClass="employeeTable"

headerClass="employeeTableHeader"

rowClasses="employeeTableOddRow,employeeTableEvenRow">

Name

#{employee.name}

Department

#{employee.department}

Age

#{employee.age}

Salary

#{employee.salary}

被渲染成以下HTML标签。

NameDepartmentAgeSalary

TomMarketing102000.0RobertMarketing151000.0

JSF数据表更新行数据实例

打开 NetBeans IDE 创建一个Web工程:DataTableSort,其目录结构如下所示 -

创建以下文件代码,文件:index.xhtml 的代码内容如下所示 -

/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}

文件:User.java 的代码内容如下所示 -

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package com.yiibai;

/**

*

* @author Maxsu

*/

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 User 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 User() {

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;

}

}

}

文件: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;

}

右键运行工程:DataTableSort,如果没有任何错误,打开浏览器访问:

http://localhost:8084/DataTableSort/

应该会看到以下结果 -

在上图中,您可以点击”Book No“,就可以看到排序情况了。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

总结

以上是生活随笔为你收集整理的java jsf table_JSF数据表(h:dataTable)排序数据的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。