Java 使用数据库中的值重新加载datatable

Java 使用数据库中的值重新加载datatable,java,primefaces,Java,Primefaces,我目前有一个数据表,显示从我的数据库用户表中获得的用户列表。我的应用程序允许我执行以下操作: 选择一个组 选择一个用户 添加 UserGroups数据表显示已添加的组和用户。 添加的用户将不会显示在用户数据表中,也就是说,只有在视图中才会显示该用户。但是,该用户仍然存在于数据库表中 这在我的web视图中发生 例如: Group: 1. Web 2. Projects 3. Management User: 1. Tom 2. Jane 3. John 我选择1个组和1个用户,

我目前有一个数据表,显示从我的数据库用户表中获得的用户列表。我的应用程序允许我执行以下操作:

选择一个组 选择一个用户 添加 UserGroups数据表显示已添加的组和用户。 添加的用户将不会显示在用户数据表中,也就是说,只有在视图中才会显示该用户。但是,该用户仍然存在于数据库表中

这在我的web视图中发生

例如:

Group:

 1. Web
 2. Projects
 3. Management

User:

 1. Tom
 2. Jane
 3. John
我选择1个组和1个用户,并将其添加到用户组

UserGroup:

 1. Management, John
用户和组表显示了以下内容:

组:

 1. Web
 2. Projects
 3. Management
用户:

如何刷新用户表,以便从数据库中获取新的用户列表,以便进行下一轮选择??因为一旦我添加了所有用户,当我点击一个新的组进行选择时,用户表是空的,我希望用户数据表刷新

任何关于我如何做的线索或建议。。。我不懂

我当前在managedBean中有以下方法:

检索用户、组和用户组列表的方法

 public List<Usuarious> getListOfUsuarios() throws DAOExceptions{
        List<Usuarious> usuariosList = userDAO.list();
        listOfUsuarios = usuariosList;
        return listOfUsuarios;
    }

    public List<Grupos> getListOfGrps() throws DAOExceptions {
        List<Grupos> grpList = grpDAO.list();
        listOfGrps = grpList;
        return listOfGrps;
    }

    public List<UsuariousGrupos> getListOfUserGroups() throws DAOExceptions{
        List<UsuariousGrupos> usuariosGruposList = userGrpDAO.list(var2);
        listOfUserGroups = usuariosGruposList;
        return listOfUserGroups;
    }
然后将其添加到finishAddUser方法列表以刷新datatable:

   public void finishAddUsuariosGrupos()throws DAOExceptions {
        this.userGroups.setId_grupo(var2);
        this.userGroups.setId_usuario(var1);
        userGrpDAO.create(userGroups);
        refreshList();

    }
<webuijsf:table onClick="setTimeout('#{user$reports.updateGeneratedReportList()}',500);"/>

但这是行不通的

我遇到了类似的数据表刷新问题。我通过向datatable添加settimeout解决了这个问题:

   public void finishAddUsuariosGrupos()throws DAOExceptions {
        this.userGroups.setId_grupo(var2);
        this.userGroups.setId_usuario(var1);
        userGrpDAO.create(userGroups);
        refreshList();

    }
<webuijsf:table onClick="setTimeout('#{user$reports.updateGeneratedReportList()}',500);"/>

updateGeneratedReportList方法等于refreshList方法

如果您已经有了一些实现,并且您还想要更多,向我们展示您已经拥有的…是的,我也添加了一些codexhtml代码…顺便说一句,refreshList方法是无用的-您将同一个对象分配给ListOfSuarios…您可以直接使用方法GetListOfSuariosounds,如userGrpDAO.create和userDAO.list,它们在不同的事务中运行,并且只在事务结束时提交回应或可能永远不会。你在使用什么样的持久性?JPA?冬眠普通JDBC?这毕竟不是JSF的问题。另外,BalusC,我在博客上按照你的教程为我的JDBC DAOs创建了create和list方法。OP没有使用Woodstock。OP使用的是PrimeFaces。特定于组件库的方法不一定适用于其他组件库。请注意,这是一种方式……一旦您使用Primefaces,您就可以利用它的所有功能~是的,我正在使用Primefaces。你的意思是我可以利用标签在我的视图中刷新它吗?我想一个简单的JS可以在其他组件库中工作。。也许不是。