Java 在xhtml上调用时,bean中的方法不起作用

Java 在xhtml上调用时,bean中的方法不起作用,java,jsf,Java,Jsf,我有一个名为ViewAllCd的cdBean.java方法来显示数据库中的所有Cd。但是,当在xhtml上调用它时,输出不在那里。。如何获得输出 这是我的cdBean: package Bean; import Entities.Compactdiscs; import javax.ejb.Stateless; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceUnit; imp

我有一个名为ViewAllCd的cdBean.java方法来显示数据库中的所有Cd。但是,当在xhtml上调用它时,输出不在那里。。如何获得输出

这是我的cdBean:

package Bean;

import Entities.Compactdiscs;
import javax.ejb.Stateless;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceUnit;
import java.util.List;
import javax.inject.Named;

/**
 *
 * @author User
 */
 @Named
 @Stateless
public class cdBean implements cdBeanLocal {


@PersistenceUnit EntityManagerFactory emf;
/**
 *
 * @return
 */
@Override
public List<Compactdiscs> ViewAllCd(){
    return emf.createEntityManager().createNamedQuery("Compactdiscs.findAll",Compactdiscs.class).getResultList();
}

// Add business logic below. (Right-click in editor and choose
// "Insert Code > Add Business Method")
 }
这是我的xhtml文件:

   <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://xmlns.jcp.org/jsf/html"
        xmlns:f="http://xmlns.jcp.org/jsf/core"
        >
      <head>
          <title>allcd</title>
          <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
      </head>
      <body>
         <h1>All Cd</h1>
                    <h:dataTable value="#{cdBean.ViewAllCd}" var="c" border="1">
                        <h:column>
                            <f:facet name="header">
                                <h:outputText value="ID" />
                            </f:facet>
                            <h:outputText value="#{c.cdID}" />
                        </h:column>
                        <h:column>
                            <f:facet name="header">
                                <h:outputText value="Name" />
                            </f:facet>
                            <h:outputText value="#{c.cdName}" />
                        </h:column>

                    </h:dataTable>
  </body>
 </html>

尝试添加此方法。Richfaces希望getter和setter遵循我不记得java命名约定的确切名称

公共列表getViewAllCd{ 在此处返回您的数据; }

或者您可以这样做来调用您的方法:

 <h:dataTable value="#{cdBean.ViewAllCd()}" var="c" border="1">

请在xhtml上使用h:head而不是head,使用h:body而不是body。您正在尝试将应用程序层与域模型和/或业务层合并在一起。请考虑隔离它们。是的,我这样做了,当我运行这个项目时仍然一无所获。我不知道这里少了什么。。