【问题标题】:How to bind categories with ManagedBean and xhtml page如何将类别与 ManagedBean 和 xhtml 页面绑定
【发布时间】:2017-02-07 07:52:03
【问题描述】:

我是编程新手,我想问一下:如果我有一个 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 类吗?

谢谢

【问题讨论】:

  • 如果每个产品都有一个类别,我没有看到问题???请添加一些信息,我相信一个例子会有所帮助
  • 我已经完成了编辑..关键是当用户添加拍卖时,他/她应该能够选择一个类别并将添加的产品放入正确的类别中..我不'不知道如何进行绑定
  • 让我看看我是否理解你想要在用户选择类别时制作产品列表的问题是你的意思???
  • no.. 我想制作一个类别列表(例如使用 select 和 option 标签),在用户选择类别后,我想将产品放在正确的类别中。例如,当我在 xhtml 页面(主页)中列出类别并从中选择一个类别,我将能够看到该类别中对应的产品

标签: jsf xhtml


【解决方案1】:

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

在您的类别实体中,您将使用它的产品列表如下所示

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

最后你可以访问这个数据 throw category.listProducts

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

希望对您有所帮助。

【讨论】:

  • 为什么不直接参考 stackoverflow 上的许多主从 jpa Q/A 和 jpa 教程之一? (教鱼而不是提供鱼)
  • 确实是这样,但问题是(我不知道是我还是其他)我不明白这个问题不清楚我正在等待更多信息,看看是什么即使您完全正确,也要做一个指向旧帖子的链接会更好
  • 好的。谢谢你。在 xhtml 页面中,我想到了类似的内容:

    ..在这里我选择类别.. 使用 xhtml 时如何将选择的类别与 managedBean 中的类别绑定?..再次感谢
  • 然后发表评论并要求澄清。不提供“猜测”答案。否则人们倾向于对你的答案投反对票(例如,看不到直接关系)
  • 要做这样的事情去primefaces.org/showcase/ui/input/oneRadio.xhtml它会给你很好的选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
  • 2014-02-20
  • 2023-03-18
  • 2018-11-10
  • 2014-01-02
相关资源
最近更新 更多