-4

JSF 2.1 PrimeFaces 3.5

我有两个 primefaces 自动完成控件,在同一个实体中有两个不同的字段

<p:autoComplete id="ida" minQueryLength="4"
value="#{bean.enterprise.field1}"

<p:autoComplete id="idb" minQueryLength="4"
value="#{bean.enterprise.field2}"

即:企业实体有两个字段(field1和field2)

实体 :

@Column(name="field1", length=100,nullable=false)
private String field1;

@Column(name="field2", length=100,nullable=false)
private String field2;

@Override
public String toString(){
return this.field1;
}

在企业实体中,我使用 field1 覆盖了 toString() 方法

问题是:如何覆盖同一实体中的字段 1 和字段 2。那是因为我需要在控件中显示字段 1 和字段 2 的值。

如果我不覆盖 toString 方法 field1,我会在我的视图中看到对象值而不是字段值: 在此处输入图像描述

4

1 回答 1

2

如果您只想要字段的字符串表示,则无需执行任何操作。他们已经String

您正在使用 访问"#{bean.enterprise.field1}",这两个字段都是String这样,它们将在自动完成中正确输出。

我可能在这里错过了有关 primefaces 自动完成功能的一些内容。您可以参考Primefaces 展示

<p:autoComplete value="#{autoCompleteBean.selectedValue}" id="someId" completeMethod="#{someBean.completeMethod}"/>

请注意,completeMethod在您的情况下必须返回字符串值

于 2013-09-10T14:54:49.197 回答