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;
}
在Enterprise实体中,我使用field1
覆盖了toString()方法问题是:如何覆盖同一实体中的字段1和字段2 。那是因为我需要在控件中显示字段1和字段2值。
如果我不重写toString方法field1,我会在视图中看到对象值而不是字段值:
答案 0 :(得分:2)
如果您只想要字段的字符串表示,则无需执行任何操作。它们已经String
您正在使用"#{bean.enterprise.field1}"
进行访问,这两个字段均为String
,因此它们将在自动填充中正确输出。
我可能在这里错过了关于primefaces自动完成功能的一些内容。 您可以参考Primefaces showcase
<p:autoComplete value="#{autoCompleteBean.selectedValue}" id="someId" completeMethod="#{someBean.completeMethod}"/>
请注意,completeMethod
必须在您的案例中返回字符串值