Java 如何使用select按钮创建JSF表

Java 如何使用select按钮创建JSF表,java,jsf,jsf-2,Java,Jsf,Jsf 2,我想创建JSF表,它在每一行中都有SELECTALL按钮和复选框。我找到了这个源代码。在这个JSF表教程之后,我发现这个JSF表带有select行。我试图修改代码,但在Netbeans中出现错误,我不知道如何修复: import java.io.Serializable; import java.math.BigDecimal; import javax.enterprise.context.SessionScoped; // or import javax.faces.bean.Session

我想创建JSF表,它在每一行中都有SELECTALL按钮和复选框。我找到了这个源代码。在这个JSF表教程之后,我发现这个JSF表带有select行。我试图修改代码,但在Netbeans中出现错误,我不知道如何修复:

import java.io.Serializable;
import java.math.BigDecimal;
import javax.enterprise.context.SessionScoped;
// or import javax.faces.bean.SessionScoped;
import javax.inject.Named;
/* include SQL Packages */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import javax.annotation.Resource;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
// or import javax.faces.bean.ManagedBean;   

import org.glassfish.osgicdi.OSGiService;

@Named("SessionsController")
@SessionScoped
public class Sessions implements Serializable {

    public Sessions() {
    }

    private Map<Long, Boolean> selectedIds = new HashMap<Long, Boolean>();
    private List<MyData> selectedDataList;

    /* Call the Oracle JDBC Connection driver */
    @Resource(name = "jdbc/Oracle")
    private DataSource ds;

    private static final ArrayList<SessionArray> sessionList =
            new ArrayList<SessionArray>(Arrays.asList(
            new SessionArray("A0001", "Intel CPU",
            new BigDecimal("700.00"), 1),
            new SessionArray("A0002", "Harddisk 10TB",
            new BigDecimal("500.00"), 2),
            new SessionArray("A0003", "Dell Laptop",
            new BigDecimal("11600.00"), 8),
            new SessionArray("A0004", "Samsung LCD",
            new BigDecimal("5200.00"), 3),
            new SessionArray("A0005", "A4Tech Mouse",
            new BigDecimal("100.00"), 10)));

    public ArrayList<SessionArray> getSessionList() {

        return sessionList;

    }

    public String deleteAction(SessionArray session) {

        sessionList.remove(session);
        return null;
    }

    public static class SessionArray {

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

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

        public String getOrderNo() {
            return orderNo;
        }

        public void setOrderNo(String orderNo) {
            this.orderNo = orderNo;
        }

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

    //select all  button code

    public String getSelectedItems() {

        // Get selected items.
        selectedDataList = new ArrayList<MyData>();
        for (MyData dataItem : dataList) {
            if (selectedIds.get(dataItem.getId()).booleanValue()) {
                selectedDataList.add(dataItem);
                selectedIds.remove(dataItem.getId()); // Reset.
            }
        }

        // Do your thing with the MyData items in List selectedDataList.

        return "selected"; // Navigation case.
    }

    public Map<Long, Boolean> getSelectedIds() {
        return selectedIds;
    }

    public List<MyData> getSelectedDataList() {
        return selectedDataList;
    }

}
import java.io.Serializable;
导入java.math.BigDecimal;
导入javax.enterprise.context.SessionScoped;
//或者导入javax.faces.bean.SessionScoped;
导入javax.inject.Named;
/*包括SQL包*/
导入java.sql.Connection;
导入java.sql.PreparedStatement;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入javax.annotation.PostConstruct;
导入javax.sql.DataSource;
导入javax.annotation.Resource;
导入javax.faces.context.FacesContext;
导入javax.inject.inject;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpSession;
//或者导入javax.faces.bean.ManagedBean;
导入org.glassfish.osgicdi.OSGiService;
@命名(“会话控制器”)
@会议范围
公共类会话实现可序列化{
公开会议(){
}
私有映射selectedds=newhashmap();
私有列表选择的催化剂;
/*调用Oracle JDBC连接驱动程序*/
@资源(name=“jdbc/Oracle”)
私有数据源ds;
私有静态最终ArrayList会话列表=
新建ArrayList(Arrays.asList(
新会话阵列(“A0001”,“英特尔CPU”,
新的BigDecimal(“700.00”),1),
新会话阵列(“A0002”,“硬盘10TB”,
新的大十进制(“500.00”),2),
新会话阵列(“A0003”,“戴尔笔记本电脑”,
新的大十进制(“11600.00”),8),
新SessionArray(“A0004”,“三星LCD”,
新的大十进制(“5200.00”),3),
新会话阵列(“A0005”,“A4Tech鼠标”,
新的大十进制(“100.00”),10);
公共ArrayList getSessionList(){
返回会话列表;
}
公共字符串删除操作(SessionArray会话){
sessionList.remove(会话);
返回null;
}
公共静态类SessionArray{
字符串orderNo;
字符串名称;
大十进制价格;
整数数量;
公共会话阵列(字符串顺序号、字符串名称、,
大十进制价格,整数数量){
this.orderNo=orderNo;
this.productName=productName;
这个价格=价格;
该数量=数量;
}
公共字符串getOrderNo(){
退货订单号;
}
public void setOrderNo(字符串orderNo){
this.orderNo=orderNo;
}
公共字符串getProductName(){
返回产品名称;
}
公共无效setProductName(字符串productName){
this.productName=productName;
}
公共价格(){
退货价格;
}
公共无效设置价格(BigDecimal价格){
这个价格=价格;
}
public int getQty(){
退货数量;
}
公共作废设置数量(整数数量){
该数量=数量;
}
}
//选择所有按钮代码
公共字符串getSelectedItems(){
//获取所选项目。
SelectedCatalist=newArrayList();
用于(MyData数据项:数据列表){
if(selectedDS.get(dataItem.getId()).booleanValue()){
选择数据列表。添加(数据项);
选择edids.remove(dataItem.getId());//重置。
}
}
//使用列表SelectedCatalist中的MyData项执行操作。
返回“selected”;//导航案例。
}
公共地图GetSelectedDS(){
返回所选的ID;
}
公共列表GetSelectedCatalist(){
返回SelectedCatalist;
}
}
Netbeans给了我一个错误,我想使用这个代码
private List selectedatalist<找不到代码>我的数据
类。如何修复此错误


最美好的祝愿

您的项目/工作区中是否有类
MyData

如果不实施它。。。如果存在,请导入它


如果您从某个示例中获取代码,请仔细检查您是否忘记了任何内容

我没有发现任何东西丢失。所以我必须创造它。在列表的例子中,什么是MyData?我找到了你例子的来源,你在你的项目中也创建了这个类吗?