com.sun.faces.context.flash.ELFlash.getFlash 中的 java.lang.NullPointerException

标签 java jsf jsf-2 heroku nullpointerexception

我创建了一个简单的 JSF2.0 应用程序,它在我的计算机上运行良好,但是当我尝试在 Heroku 中运行它时,我收到此错误:

HTTP ERROR 500

Problem accessing /login.xhtml. Reason:

    Server Error

Caused by:

java.lang.NullPointerException
    at com.sun.faces.context.flash.ELFlash.getFlash(ELFlash.java:93)
    at com.sun.faces.context.flash.ELFlash.getELFlash(ELFlash.java:124)
    at com.sun.faces.context.flash.ELFlash.doPostPhaseActions(ELFlash.java:722)
    at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:108)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:311)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:481)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:940)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:874)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
    at org.eclipse.jetty.server.Server.handle(Server.java:349)
    at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
    at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:904)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:565)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:46)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:545)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:43)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
    at java.lang.Thread.run(Thread.java:636)

那么,这个问题有什么解决办法吗? 提前致谢。

最佳答案

java.lang.NullPointerException
    at com.sun.faces.context.flash.ELFlash.getFlash(ELFlash.java:93)
    at com.sun.faces.context.flash.ELFlash.getELFlash(ELFlash.java:124)

我不认识 ELFlash#getELFlash()方法作为最近的 Mojarra 实现的一部分。也许您正在使用一个非常早的 2.0.0 实现,它有一个与此相关的错误。升级到最新版本应该可以解决这个问题。


but the problem with annotations persists in Heroku

javax.el.PropertyNotFoundException: /login.xhtml @15,55 value="#{user.name}": Target Unreachable, identifier 'user' resolved to null 
    at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100‌​) 
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(Html‌​BasicInputRenderer.java:95) 

如果您的 faces-config.xml,JSF2 注释将失败未正确声明符合 JSF2 规范。确保 <faces-config>根声明如下所示:

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

    <!-- config here -->

</faces-config>

关于com.sun.faces.context.flash.ELFlash.getFlash 中的 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8409336/

相关文章:

java - 我如何将 Spring Security 与具有 session 复制功能的集群一起使用以对经过身份验证的用户进行故障转移?

jsf - 输入多个没有自动完成的标签

java - org.hibernate.exception.JDBCConnectionException : Cannot open connection

jsf - 由于 Fieldset 无法转换为 UIData 而抛出的异常

java - 如何将 ArrayList<String> 传递给 bean

java - 登录时显示用户电子邮件 (JSF 2.0)

java - 处理 Java 中的图像路径

java - 你能分享一个 URL 解析实现的链接吗?

java - 解释java编译顺序

java - 从应用程序服务器监听端口