【问题标题】:Method in Beans not working when called on xhtml在 xhtml 上调用时 Beans 中的方法不起作用
【发布时间】:2015-04-28 19:38:08
【问题描述】:

我有这个 cdBean.java 和一个名为 ViewAllCd 的方法来显示数据库中的所有 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>

【问题讨论】:

  • 请在您的 xhtml 上使用h:head 代替head,并使用h:body 代替body
  • 您正在尝试将应用程序层与域模型和/或业务层合并在一起。请考虑隔离它们。

标签: java jsf


【解决方案1】:

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

public List<Compactdiscs> getViewAllCd(){ return your_data_here; }

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

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

【讨论】:

  • 是的,我已经这样做了,但当我运行项目时仍然没有..我不知道这里缺少什么..
猜你喜欢
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 2018-12-07
相关资源
最近更新 更多