2009-06-29 3 views
1

私のページにテーブルを配置したいと思います。私はデータベースにユーザーと場所などの2つのテーブルを持っています。どの場所にも複数のユーザーがいます。私はこれらの場所をリストし、これらの場所に住んでいるユーザーを表示したいと思います。JSFの1-n関係を示します


ロサンゼルス

  1. ジョン・ロック
  2. 博士ジャック
  3. 氏エコ

下の画像のように、誰かがJSFでこれを行うだろうか?

ありがとうございました。

+0

画像が表示されません。たぶんそれにリンクしていますか? – Drew

答えて

1

あなたがそんなことをするためにRichFacesのを使用することができます。

allCity
<h:form> 
<rich:dataList var="city" value="#{myBean.allCity}"> 
    <h:outputText value="#{city.name}" ></h:outputText> 
    <rich:dataList var="user" value="#{city.users}"> 
     <h:outputText value="#{user.name}" ></h:outputText> 
    </rich:dataList> 
</rich:dataList> 
</h:form> 

- 市のリスト、およびすべての市は、内部ユーザのリストを持っています。

たとえば、http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.jsf?c=dataList&tab=usageを参照してください。

バッキングBean:

MyBeanと:

public class MyBean(){ 
    private ArrayList<City> allCity= new ArrayList<City>(); 

    @PostConstruct 
    public void init(){ 
    //fill Array list 
    } 

    public ArrayList<City> getAllCity() { 
    return allCity; 
    }  

} 

市:

public class City{ 
    private ArrayList<User> users= new ArrayList<User>(); 

    public City(ArrayList<User> users){ 
    this.users = users; 
    // you can get data from database in myBean, and pass it hear with cinstructor; 
    } 

    public ArrayList<User> getUsers() { 
    return allCity; 
    }  
} 

ユーザー

public class User{ 
    private String name; 

    //constructor and others fields; 

    public String getName(){ 
    return name; 
    } 
} 

MyBeanのみがバッキングBeanとして登録します。私はクラスの基本構造だけを示し、データでそれをどのように埋めるかは選択肢です。

+0

バッキングBean/Beanにコードを書いてください。 –

+0

変更がトップで表示されます。 – aindl

+0

ありがとうございました。あなたが言ったように私はそれをした、すべてが大丈夫です。 –

関連する問題