【问题标题】:getting NullPointerException error in jsf [duplicate]在jsf中出现NullPointerException错误[重复]
【发布时间】:2017-08-09 14:52:06
【问题描述】:

我有一个从数据库表中自动构建的实体类(Buyer),它具有所有的 setter 和 getter。我还在其中添加了一个 JSF 托管 Bean(BuyerBean) 和一个实体管理器。

@ManagedBean
@RequestScoped
public class BuyerBean {

    private EntityManager entitymanager;

    public BuyerBean() {
    }
    public void init(){
        entitymanager=Persistence.createEntityManagerFactory("WebApplication3").createEntityManager();
    }
    public void newrec(){

        entitymanager.getTransaction().begin();
            Buyer b =new Buyer();

            b.setBuyerId(66);

            entitymanager.persist(b);
            entitymanager.getTransaction().commit();

    }
}

而我的JFS是这样的,很简单,只是为了测试:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
   <h:form>
       <h:commandButton value="click 1" action="#{buyerBean.newrec()}"/>
</h:form>
    </h:body>
</html>

每次浏览器都会出现此错误: java.lang.NullPointerException

我的发起人有问题吗?如果有,请写一段代码

【问题讨论】:

  • 我已经读过那篇文章,但 jsf 和 xhtml 没有任何相关问题

标签: java jsf xhtml javabeans


【解决方案1】:

好吧,由于 NullPointerException 是您提供的全部内容,我想说,我可以从这段代码中看到两件事:

1) 实体经理可能是null,在这种情况下:

public void init() {      
if(entitymanager==null)
    entitymanager=Persistence.createEntityManagerFactory("WebApplication3").createEntityManager();
    }
public void newrec(){
init();
//some other code
}

2) 从 JSF 调用的 Bean 'buyerbean' 可能为 null : 尝试重命名调用以匹配类名 - B 为大写:

action="#{BuyerBean.newrec()}

但这些只是猜测。您需要提供更多信息。

【讨论】:

  • 感谢您的回复,第一种方式我得到了这个错误javax.persistence.PersistenceException: No Persistence provider for EntityManager named WebApplication3: 和第二种方式:javax.el.PropertyNotFoundException: /index.xhtml @10 ,77 action="#{BuyerBean.newrec()}":目标无法到达,标识符“BuyerBean”解析为空
  • 查看了一些文档,看来您需要在 persistence.xml 中定义持久性单元。它具有 name 属性,您应该将其作为 createEntityManagerFactory 方法的参数插入。示例在这里:docs.oracle.com/cd/E19798-01/821-1841/bnbrj/index.html
猜你喜欢
  • 1970-01-01
  • 2019-04-06
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-05
  • 2016-04-03
  • 1970-01-01
相关资源
最近更新 更多