如何使用ManagedBean和xhtml页面绑定类别

时间:2017-02-07 07:52:04

标签: jsf xhtml

我是编程的新手,我想问:如果我有一个managedBean(具有不同的特性),我想添加不同的类别,在xhtml页面上显示它们..如何将这些类别与managedBean和xhtml绑定并在用户添加产品后将产品放入正确的类别?

这是我的xhtml代码的一部分:

<ui:define name="content">
        <h2>New auction</h2>
        <h:form>
            <h:panelGrid columns="2">
                <h:outputLabel value="Name:" />
                <h:inputText value="#{newAuctionWizard.auction.name}" />

                <h:outputLabel value="Description:" />
                <h:inputTextarea value="#{newAuctionWizard.auction.description}" />

                <h:commandButton value="Cancel" action="#{newAuctionWizard.cancel()}" />    
                <h:commandButton value="Details" action="newAuctionDetails" />  
            </h:panelGrid>
            <h:messages style="color: red" />
        </h:form>
    </ui:define>

和java代码的一部分:

private static final long serialVersionUID = -38089703767395198L;

private Long id;
@Size(min=2, max=30, message = "The auction's name: minim {min} and maximum {max} caractere")
private String name;
@Size(max=1000, message = "The auction's description must be of maximum {max} characters")
private String description;
@Min(value = 1, message = "Original price should be at least 1 RON")
@NotNull(message = "Highest Bid")
private Long originalPrice;
private String location;

private User owner;
private Bid highestBid;

private List<Bid> bids = new ArrayList<Bid>();

我希望用户能够在添加拍卖时选择一个类别并将其产品放在正确的类别中..对于每个类别,我应该创建一个Java类吗?

谢谢

1 个答案:

答案 0 :(得分:-2)

在这篇文章中,我会尝试回答你的问题(即使对我来说不是很清楚)

在您的类别实体中,您将使用它的产品列表看起来像这样

<强> categoryEntity.java

@Entity
@EntityListeners(QuerySessionLog.class)
@Table(name = "category")

....
@OneToMany(mappedBy = "category",  fetch = FetchType.LAZY , cascade = CascadeType.ALL ,orphanRemoval = true)
private List<productEntity> listProducts ;

不要忘记列表中的getter和setter

在您的productEntity中,它将如下所示

<强> productEntity.java

...
@JoinColumn(name = "category")
@ManyToOne(fetch = FetchType.LAZY)
private categoryEntity category; 

再一次不要忘记getter和setter

并且您可以访问此数据抛出category.listProducts

要显示您的信息,您可以在primefaces网站primefaces web site中找到各种示例,例如dataTable ......

希望能帮到你。