我有一个带有JSF框架的Maven项目。我想从数据库中提取数据到dataTable。但我不提取。我会分享我的代码。但是这些代码可以正常地运行正常的Jsf Web应用程序(而不是maven)。
是jpa控制器类
public class usersController {
EntityManager em;
EntityManagerFactory emf;
private List<Users> users = new ArrayList<>();
public usersController() {
emf = Persistence.createEntityManagerFactory("com.ozgur_MavenJSF_war_1.0-SNAPSHOTPU");
em = emf.createEntityManager();
em.getTransaction().begin();
}
public List<Users> getUsers() {
try {
users = em.createNamedQuery("Users.findAll", Users.class).getResultList();
return users;
} catch (Exception e) {
return users;
}
}
}
是Managed Beans类
@Named(value = "usersBeans")
@SessionScoped
public class usersBeans implements Serializable {
private List<Users> users = new ArrayList<>();
private usersController userController = new usersController();
public usersBeans() {
}
public List<Users> getAll() {
users = userController.getUsers();
return users;
}
}
是xhtml文件
<h:form>
<h:dataTable value="#{usersBeans.getAll()}" var="users">
<h:column>
<f:facet name = "header">Id</f:facet>
#{users.id}
</h:column>
<h:column>
<f:facet name = "header">Name</f:facet>
#{users.userName}
</h:column>
<h:column>
<f:facet name = "header">Surname</f:facet>
#{users.userSurname}
</h:column>
<h:column>
<f:facet name = "header">Address</f:facet>
#{users.userAddress}
</h:column>
<h:column>
<f:facet name = "header">Phone</f:facet>
#{users.userPhone}
</h:column>
</h:dataTable>
</h:form>
persistence.xml是正确的
在xhtml文件中,<h:dataTable value="#{usersBeans.getAll()}" var="users">
即使我写了一些非常荒谬的东西,它也不会出错。我只看到一张空桌子。但这些代码可以正常使用Jsf Web应用程序。
提前感谢您的帮助。