我正在使用Spring,我遇到了bean的问题,这是我的代码:
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.grh.bo.ICollaborateurBo;
import com.grh.bo.IUserBo;
import com.grh.entities.Collaborateur;
@Component
@Scope("session")
public class CollaborateurBean implements Serializable {
private static final long serialVersionUID = 1L;
@Autowired
private ICollaborateurBo collaborateurBo;
private String nom;
private String prenom;
private String sflag = "";
private int currentProjectIndex;
private int page = 1;
public List<Collaborateur> listOfCollaborateur = new ArrayList<Collaborateur>();
private Collaborateur Collaborateurr = new Collaborateur();
List<Collaborateur> lis = new ArrayList<Collaborateur>(collaborateurBo.getAllCollaborateur());
@PostConstruct
public void init() {
setListOfCollaborateur(recupererCollaborateur());
Collaborateurr=new Collaborateur();
}
public List<Collaborateur> getLis() {
return collaborateurBo.getAllCollaborateur();
}
public void setLis(List<Collaborateur> lis) {
this.lis = lis;
}
public List<Collaborateur> getCollaborateurList() {
return collaborateurBo.getAllCollaborateur();
}
private List<Collaborateur> recupererCollaborateur() {
List<Collaborateur> ps = collaborateurBo.getAllCollaborateur();
return ps;
}
public CollaborateurBean() {
super();
}
public CollaborateurBean(ICollaborateurBo collaborateurBo, String nom,
String prenom, String sflag, int currentProjectIndex, int page,
List<Collaborateur> listOfCollaborateur,
Collaborateur collaborateurr, List<Collaborateur> lis) {
super();
this.collaborateurBo = collaborateurBo;
this.nom = nom;
this.prenom = prenom;
this.sflag = sflag;
this.currentProjectIndex = currentProjectIndex;
this.page = page;
this.listOfCollaborateur = listOfCollaborateur;
Collaborateurr = collaborateurr;
this.lis = lis;
}
public Collaborateur getCollaborateurr() {
return Collaborateurr;
}
public void setCollaborateurr(Collaborateur collaborateurr) {
Collaborateurr = collaborateurr;
}
public List<Collaborateur> getListOfCollaborateur() {
return listOfCollaborateur;
}
public void setListOfCollaborateur(List<Collaborateur> listOfCollaborateur) {
this.listOfCollaborateur = listOfCollaborateur;
}
public String getSflag() {
return sflag;
}
public void setSflag(String sflag) {
this.sflag = sflag;
}
public void setCollaborateurBo(ICollaborateurBo collaborateurBo) {
this.collaborateurBo = collaborateurBo;
}
public ICollaborateurBo getCollaborateurBo() {
return collaborateurBo;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getCurrentProjectIndex() {
return currentProjectIndex;
}
public void setCurrentProjectIndex(int currentProjectIndex) {
this.currentProjectIndex = currentProjectIndex;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
}
在此页面collaborateur.xhtml我无法显示来自我的数据库的数据 的 collaborateur.xhtml:
<h:dataTable value="#{CollaborateurBean.getLis()}" var="item">
<h:column>
<h:outputText value="#{item.nom}" />
</h:column>
<h:column>
<h:outputText value="#{item.prenom()}" />
</h:column>
</h:dataTable>
当我测试collaborateur时,我显示来自我的数据库的数据。这是从数据库提供数据的代码:
<h:dataTable value="#{collaborateurBo.getAllCollaborateur()}" var="item">
<h:column>
<h:outputText value="#{item.nom}" />
</h:column>
<h:column>
<h:outputText value="#{item.prenom()}" />
</h:column>
</h:dataTable>
这意味着问题出在Collaborateur bean中,而不是在collaborateurBo或CollaborateurDao中。
配置:
<!-- Database Configuration -->
<import resource="/DataSource.xml"/>
<import resource="/Hibernate.xml"/>
<!-- Auto scan the components -->
<context:component-scan base-package="com.grh" />