我有一个使用Glassfish 3服务器的普通动态Web项目。 我有一个注入无状态bean的托管bean。 使用Mojarra 2.1.6一切正常。
但是当我将javax.faces-2.2.7.jar(Mojarra)添加到我的Web-Inf lib文件夹并尝试访问我的网站时,我得到了一个Nullpointerexception用于我的"服务"。
部署和新的mojarra版本已成功接受。
EXCEPTION: java.lang.NullPointerException 在bean.MyBean.init(MyBean.java:18)
示例代码:
Managed-Bean:
@ManagedBean
@ViewScoped
public class MyBean {
@EJB
private MyStatelessBean statelessBean;
private String hello;
@PostConstruct
public void init(){
setHello(statelessBean.sayHello());
}
public String getHello() {
return hello;
}
public void setHello(String hello) {
this.hello = hello;
}
}
Stateless- Bean:
@Stateless
public class MyStatelessBean {
public String sayHello(){
return "Hello";
}
}
XHTML:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
</h:head>
<h:body>
<h:outputText value="#{myBean.hello}" />
</h:body>
</html>
答案 0 :(得分:0)
解决方案是重置glassfish缓存,一切正常;)