我有3個表,用戶,用戶組和組。我希望實現以下功能:當我在我的組數據表中選擇一個不同的組時,用戶數據表將刷新並更新用戶列表。如何刷新數據表以從數據庫檢索新列表
例如, -
Groups
1. Management
2. HR
3. Support
User
1. John
2. Tom
3. Mary
我從組中選擇管理,我從用戶選擇約翰,並將它們添加到羣組出現以下情況:
Groups
1. Management
2. HR
3. Support
User
2. Tom
3. Mary
UserGroups
Management, John
我重複這個過程湯姆添加到管理:
組
1. Management
2. HR
3. Support
User
3. Mary
UserGroups
Management, John
Management, Tom
現在,當我選擇一個新的組,HR,用戶表刷新:
個組
1. Management
2. HR
3. Support
用戶
1. John
2. Tom
3. Mary
UserGroups
Management, John
Management, Tom
基本上,當我選擇一個組,在用戶數據表將顯示用戶在NOT部。
這裏是我的JSF代碼:
<p:dataTable var="users" value="#{usuariousGruposBean.listOfUsuarios}" selection="#{users}" selectionMode="single">
<p:column headerText="" style="height:0" rendered ="false">
<h:outputText value="#{users.id_usuario}"/>
</p:column>
<p:column headerText="Usuarios" style="height:50">
<h:outputText value="#{users.nome}"/>
</p:column>
<p:column>
<h:commandLink value ="selection" action="#{usuariousGruposBean.selectionOfUserObject}" >
<f:setPropertyActionListener target="#{usuariousGruposBean.user}" value="#{users}"/>
</h:commandLink>
</p:column>
</p:dataTable>
我現在有從我的數據庫中檢索用戶的列表兩種方法:
public List<Usuarious> getListOfUsuarios() throws DAOExceptions {
List<Usuarious> usuariosList = userDAO.list();
listOfUsuarios = usuariosList;
return listOfUsuarios;
}
public List<Usuarious> getNewListUsers() throws DAOExceptions {
if(listOfUsuarios ==null) {
List<Usuarious> userList =userDAO.listAll();
refreshListUsuarios = userList;
}
return refreshListUsuarios;
}
我想刷新我{usuariousGruposBean.listOfUsuarios}
。只有當我手動交換listOfUsuarios
,{usuariousGruposBean.refreshListUsuarios}
時,纔可以刷新我的用戶數據表中的用戶列表。
我的問題是..如何自動執行此功能?我希望刷新列表,並在我的示例中顯示以下輸出。這甚至有可能嗎?
我正在使用primefaces,jsf和java。
我不明白:你想已經有部門相關的用戶顯示,或不?我看到它的方式,已經來自部門的用戶不應該在那裏顯示!請解釋。 – spauny
好吧,部門中的用戶不會顯示在用戶表中,但會在選中新組時顯示。我與具有UserGroups的用戶和組具有多對多關係作爲兩者之間的關聯實體。所以,當選擇一個新的組時,將再次檢索一個新的用戶列表。發生以下情況(管理,湯姆),(人力資源,湯姆) – ShaunK