So fügen Sie eine Zeile in der JSF-Datentabelle hinzu

So fügen Sie eine Zeile in JSF dataTable hinzu

In diesem Beispiel werden früheredelete dataTable row example verbessert, indem eine "Hinzufügen" -Funktion hinzugefügt wird, um eine Zeile in dataTable hinzuzufügen.

In diesem JSF 2.0-Beispiel wird gezeigt, wie Sie eine Zeile in dataTable hinzufügen.

1. Managed Bean

Eine verwaltete Bean namens "order", selbsterklärend.

package com.example;

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="order")
@SessionScoped
public class OrderBean implements Serializable{

    private static final long serialVersionUID = 1L;

    String orderNo;
    String productName;
    BigDecimal price;
    int qty;

    //getter and setter methods

    private static final ArrayList orderList =
        new ArrayList(Arrays.asList(

        new Order("A0001", "Intel CPU",
                new BigDecimal("700.00"), 1),
        new Order("A0002", "Harddisk 10TB",
                new BigDecimal("500.00"), 2),
        new Order("A0003", "Dell Laptop",
                new BigDecimal("11600.00"), 8),
        new Order("A0004", "Samsung LCD",
                new BigDecimal("5200.00"), 3),
        new Order("A0005", "A4Tech Mouse",
                new BigDecimal("100.00"), 10)
    ));

    public ArrayList getOrderList() {

        return orderList;

    }

    public String addAction() {

        Order order = new Order(this.orderNo, this.productName,
            this.price, this.qty);

        orderList.add(order);
        return null;
    }

    public String deleteAction(Order order) {

        orderList.remove(order);
        return null;
    }

    public static class Order{

        String orderNo;
        String productName;
        BigDecimal price;
        int qty;

        public Order(String orderNo, String productName,
                BigDecimal price, int qty) {
            this.orderNo = orderNo;
            this.productName = productName;
            this.price = price;
            this.qty = qty;
        }

        //getter and setter methods
    }
}

2. JSF Seite

JSF-Seite zum Anzeigen der Daten mit dataTable-Tag und ein Eingabeformular zum Eingeben der Bestelldaten.



    
        
    
    

        

JSF 2 dataTable example

Order No #{o.orderNo} Product Name #{o.productName} Price #{o.price} Quantity #{o.qty} Action

Enter Order

Order No :
Product Name :
Quantity :
Price :

3. Demo

Zeigt von oben nach unten einen Datensatz an, der hinzugefügt wird.

jsf2-dataTable-Add-Example-1

jsf2-dataTable-Add-Example-2

jsf2-dataTable-Add-Example-3

Quellcode herunterladen

Laden Sie es herunter -JSF-2-DataTable-Add-Example.zip (10 KB)