【发布时间】:2017-11-28 17:50:07
【问题描述】:
需要使用 JSF/primefaces 自动完成和 POJO(比如名称、id)来显示数据并将有关选定对象的信息保存在数据库中。
豆子
class BackingBean{
POJOClass obj;
getters and setters
}
POJO 类
class POJOClass{
String name;
int id;
getters and setters
}
在显示时需要在自动完成建议列表中显示名称,但在保存时需要同时保存 id 和 name。
Primefaces 代码
<p:autocomplete value="#{backingbean.obj}" var="object" itemValue="#{object}" itemLabel="#{object.name}"/>
转换器
Class MyConverter ...
{
public Object getAsObject(FacesContext fc, UIComponent uic, String value){
String name=value;
POJO myPOJO=new POJO();
myPOJO.setName(name);
myPOJO.setId(???)//need id information as well over here
return myPOJO;
}
public String getAsString(...){
//returns name to display
}
}
只能在转换器的 getAsObject 方法中获取名称。 另外,不能仅使用名称从数据库中获取对象,但我可以通过 id 获取。
注意:不想通过数据库调用来获取信息。
简而言之,目标是在转换器的 getAsObject 中获取 id 或在转换器中获取整个 POJO 对象。不确定是否有其他方法可以实现这一点。
任何线索我们如何实现这一目标?
注意:我是 JSF/Primefaces 的新手。
【问题讨论】:
-
请阅读一个不错的转换器教程。您的问题中没有什么特别之处。
-
stackoverflow.com/questions/9147119/… 类似问题(希望有帮助)?
标签: java jsf primefaces autocomplete jsf-2.2