Bean Spring不起作用

时间:2014-02-16 12:23:01

标签: java spring hibernate jsf spring-mvc

我正在使用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" />

0 个答案:

没有答案