JSF/primefacesをPOJO(名前、idなど)で自動補完して、データを表示し、選択したオブジェクトに関する情報をDBに保存する必要があります。JSF/primefaces POJO itemValueをコンバーターに送る方法を自動補完する
豆
class BackingBean{
POJOClass obj;
getters and setters
}
POJOクラス
class POJOClass{
String name;
int id;
getters and setters
}
自動補完候補リストに名前を表示する必要性を表示中ですが、idと名前の両方を保存する必要性を節約しながら。コンバータのgetAsObject方法でのみ名を取得
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
}
}
エイブル
Primefacesコード
<p:autocomplete value="#{backingbean.obj}" var="object" itemValue="#{object}" itemLabel="#{object.name}"/>
コンバータ。 また、名前だけを使用してIDからオブジェクトを取得することはできません。
注:情報を取得するためにDB呼び出しを行いたくないです。
短期的な目的は、コンバータのgetAsObjectまたはPOJOオブジェクト全体のIDを取得することです。これを達成するための他の方法があるかどうかは確かではありません。
私たちはそれをどのように実現したのでしょうか?
注:私はJSF/Primefacesの初心者です。
コンバーターに関する適切なチュートリアルをお読みください。あなたの質問には特別なことはありませんが、そこにはまだありません。 – Kukeltje
https://stackoverflow.com/questions/9147119/avoid-extra-db-reads-in-the-getasobject-method-of-converter-class-by-caching-dat同様の質問(役に立ったと思いますか?) – jNick