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

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

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


导读:Java中的JSF DataTable更新是什么?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

Java中的JSF DataTable更新是什么?相信这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

以下代码显示如何更新DataTable。

实例

下面的代码来自UserBean.java。

package cn.w3cschool.common;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;

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 static final ArrayList<Book> bookList =
   new ArrayList<Book>(Arrays.asList(    new Book("1", "CSS", new BigDecimal("722.22"), 1),    new Book("2", "HTML", new BigDecimal("533.33"), 2),    new Book("3", "Java", new BigDecimal("11444.44"), 8),    new Book("4", "Javascript", new BigDecimal("5255.55"), 3),    new Book("5", "SQL",new BigDecimal("166.66"), 10)
 ));  public ArrayList<Book> getBookList() {
   return bookList;
 }  public String saveAction() {
   //get all existing value but set "editable" to false
   for (Book book : bookList){
     book.setEditable(false);
   }
   //return to current page
   return null;
 }  public String editAction(Book book) {
   book.setEditable(true);
   return null;
 }
 public static class Book{
   
   String bookNo;
   String productName;
   BigDecimal price;
   int qty;
   boolean editable;    public Book(String bookNo, String productName, BigDecimal price, int qty) {
     this.bookNo = bookNo;
     this.productName = productName;
     this.price = price;
     this.qty = qty;
   }    
   public boolean isEditable() {
     return editable;
   }    public void setEditable(boolean editable) {
     this.editable = editable;
   }    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;
   }
 }
}

以下代码来自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:ui="http://java.sun.com/jsf/facelets"
     >
   <h:head>
     <h:outputStylesheet library="css" name="table-style.css"  />
   </h:head>
   <h:body>
     
     <h1>JSF 2 dataTable 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">Book No</f:facet>
           
           <h:inputText value="#{o.bookNo}" size="10" rendered="#{o.editable}" />
           
           <h:outputText value="#{o.bookNo}" rendered="#{not o.editable}" />
         
         </h:column>
         
         <h:column>
         
           <f:facet name="header">Product Name</f:facet>
           
           <h:inputText value="#{o.productName}" size="20" rendered="#{o.editable}" />
           
           <h:outputText value="#{o.productName}" rendered="#{not o.editable}" />
           
         </h:column>
         
         <h:column>
           
           <f:facet name="header">Price</f:facet>
           
           <h:inputText value="#{o.price}" size="10" rendered="#{o.editable}" />
           
           <h:outputText value="#{o.price}" rendered="#{not o.editable}" />
           
         </h:column>
         
         <h:column>
           
           <f:facet name="header">Quantity</f:facet>
           
           <h:inputText value="#{o.qty}" size="5" rendered="#{o.editable}" />
           
           <h:outputText value="#{o.qty}" rendered="#{not o.editable}" />
           
         </h:column>
       
         <h:column>
           
           <f:facet name="header">Action</f:facet>
           
           <h:commandLink value="Edit" action="#{book.editAction(o)}" rendered="#{not o.editable}" />
           
         </h:column>

       </h:dataTable>
       
       <h:commandButton value="Save Changes" action="#{book.saveAction}" />
       
     </h:form>
   </h:body>
   
</html>

以下代码来自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;
}

相信通过上面老师的解答,大家应该知道Java中的JSF DataTable更新是什么了吧!想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区详细了解。

Java9.png

Java

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


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