0
我知道,类似的问题在这里宣布几次,但我花了大量的时间和仍然不知道为什么码不起作用:/JSF selectOneMenu用于与对象迭代
这是我的JSF页面:
<h:form>
<h:selectOneMenu value="#{productBean.productName}">
<f:selectItems value="#{productBean.products}" var="c" itemValue="#{c.name}"/>
</h:selectOneMenu>
</h:form>
这是我的ProductBean:
public class ProductBean extends Connector
{
private List<Product> products;
private Product product;
private String productName;
//setters and getters
public List<Product> getProducts() throws SQLException
{
resultSet = statement.executeQuery("SELECT * FROM dbo.products");
products = new ArrayList<Product>();
while(resultSet.next())
{
product = new Product();
product.setId_product(resultSet.getInt("id_product"));
product.setName(resultSet.getString("name"));
product.setCategory(resultSet.getInt("category_id"));
product.setIs_available(resultSet.getInt("is_available"));
products.add(product);
}
return products;
}
}
最后产品类别:
public class Product
{
private int id_product;
private String name;
private int price;
private int category;
private int is_available;
/setters and getters
}
我的目标是拥有一个包含产品名称的菜单列表。我所有在扩大名单中都是参考。 我也尝试在bean类中声明所有内容,并使ArrayList代替ArrayList,但我认为它不好。反正它没有工作。
告诉我,如果我正确地理解它。 productBean.productName是某种持有者。 productBean.products是一个完整的产品列表,并且c.name表示我只想从实际产品中命名。
耶稣,那是如此简单。我尝试了一切,但这个。谢谢 – 2013-05-11 13:13:08
很高兴帮助! – 2013-05-12 18:43:20