gpt4 book ai didi

java - 如何在数据表中绑定(bind)两个类

转载 作者:行者123 更新时间:2023-11-30 04:30:14 25 4
gpt4 key购买 nike

我在将两个 java 类绑定(bind)到一个数据表组件时遇到问题。我有两个托管 bean 产品和订单

产品来源:

public class Product {

private Integer id;
private String kategoria;
private String symbol;
private String opis;
private Double cena;

//getters and setters
//.....
//hashCode, equals methods

}

和订单来源:

public class Order {

private Product produkt;
private Integer quantity;

public Order() {}

public Order(Product product, Integer quantity) {
this.produkt = product;
this.quantity = quantity;
}


public void setProduct(Product produkt) {
this.produkt = produkt;
}

public Product getProdukt() {
return produkt;
}

public void setQuantity(Integer quantity) {
this.quantity = quantity;
}

public Integer getQuantity() {
return quantity;
}
}

我的问题是:如何绑定(bind)这个类Order<h:dataTable />组件具有产品值和数量。我使用 setOrder 和 getOrder 方法创建了 ProductBean 类

public List<OrderLine> getList() {
List<OrderLine> l = new ArrayList<OrderLine>();
for(OrderLine ol : list) {
l.add(ol);
}
return l;
}

public void setList(Set<OrderLine> list) {
if (this.list.isEmpty() )
this.list = list;
else {
Iterator<OrderLine> it = this.list.iterator();
for(OrderLine p : list) {
while(it.hasNext()) {
if(it.next().equals(p)) {
this.list.add(p);
}
}
}
}
}

我正在进行从集合到列表的转换,因为我认为从列表中检索数据会更方便。

最佳答案

为什么不想使用通用方法?

<h:dataTable value="#{productBean.getList}" var="o">

<h:column>
#{o.quantity}
</h:column>

<h:column>
#{o.produkt.kategoria}
</h:column>

...

<h:column>
#{o.produkt.cena}
</h:column>

</h:dataTable>

您可以通过订单对象访问产品字段。

更新

你做了什么:

  • 为 Order 和 Product 类的所有字段指定 getter 和 setter
  • 为您的一组订单指定 getter 和 setter
  • 创建此集合,将所有订单放在那里
  • 像我之前展示的那样迭代它

关于java - 如何在数据表中绑定(bind)两个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14809482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com