- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试从 FacesContext 获取外部上下文,如下所示并得到 NullPointerException:
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
什么可能导致问题?
最佳答案
只有在 FacesContext#getCurrentInstance()
时才可能引起返回 null
。任何访问或调用 null
引用的尝试都将导致 NullPointerException
。另见 its javadoc :
Thrown when an application attempts to use
null
in a case where an object is required. These include:
- Calling the instance method of a
null
object.- Accessing or modifying the field of a
null
object.- Taking the length of
null
as if it were an array.- Accessing or modifying the slots of
null
as if it were an array.- Throwing
null
as if it were aThrowable
value.Applications should throw instances of this class to indicate other illegal uses of the
null
object.
FacesContext#getCurrentInstance()
返回 null
只能在该行代码未在 JSF 中执行时引起上下文,即当代码在由 FacesServlet
提供服务的 HTTP 请求期间不运行时,他负责创建 FacesContext
作为 ThreadLocal
。例如,在普通 servlet、servlet 过滤器或 servlet 监听器或任何其他在运行 FacesServlet
的 HTTP 请求期间未执行的代码中。
如何正确解决它取决于问题中不清楚的功能需求。通常,您要么确保 HTTP 请求通过 FacesServlet
运行,要么通过更适合当前运行代码的上下文的替代方式来访问您正在寻找的信息.
关于java - FacesContext 中的 getExternalContext 中的 NullpointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300439/
我正在检查 this template 的代码来自 OmniFaces Showcase app ,当我遇到一个p:selectOneMenu中使用的以下条件时: disabled="#{facesC
我想在 Websphere 上部署一个企业项目。 我得到以下异常。 可能是什么原因? [03.09.12 11:21:05:636 CEST] 0000001a webapp E com
我正在集成 SWF 2.2.1、Primefaces 2.2.1、JSF 2、Spring Security 3、Spring 3.1.0M1。我能够访问 Spring web-flow xml 中提
当我点击应用程序 URL (http://localhost:9082/pages/upload.jsf) 时,浏览器上只显示“Error:500 StackOverflowError”。根据我在这个
当我点击应用程序 URL (http://localhost:9082/pages/upload.jsf) 时,浏览器上只显示“Error:500 StackOverflowError”。根据我在这个
如何在过滤器中检索 FacesContext? 我遵循以下关于如何检索 FacesContext 的文章在 Filter : http://ocpsoft.org/java/jsf-java/jsf-
FacesContext 有何用途? 它具体是在哪里实现的? 最佳答案 引自JSF 2.0 specification第6.1章: FacesContext JSF defines the javax
嗨, 这个问题来自之前的answered提问者 BalusC 。答案摘录如下: This happens only if under the covers a forward by RequestDi
我的jsp页面是:主页.jsp Insert title here Employee Management P
在我的 previous question我遇到了从登录表单显示验证消息的问题。该问题现已解决,但这次我无法显示带有 FacesContex#addMessage 的自定义消息. 使用 JSF + P
莫哈拉 2.2.12 这是接管 FacesContext 实例化的一段代码: FacesContext context = facesContextFactory.getFacesContext
我试图通过在FacesContext类的FacesContext.getCurrentInstance()方法中调用run()来获取Runnable,但它返回null。 public class Ta
同时通过javadoc of FacesContext ,我遇到了这句话 The instance remains active until its release() method is calle
我已经在 Icefaces 论坛上问过这个问题,但同时我意识到这是一个更通用的问题。 当我在 MDB 中收到消息时,我想更新 JSF 页面的某些部分。 问题是,如何从 EJB 容器中获取 FacesC
无法在自生成的线程中获得“FacesContext.getCurrentInstance()”。 需要根据后端流程动态更新组件。通过创建一个线程来监视进程并与 p:poll 一起回调组件更新来实现相同
这个问题在这里已经有了答案: Can I update a JSF component from a JSF backing bean method? (5 个回答) 5年前关闭。 实际上,当出现 k
我正在尝试向 JSF 应用程序添加一些单元测试。此应用程序没有严重依赖任何最佳实践,因此许多服务方法使用 FacesContext从托管 session bean 中提取数据,如下所示: (这是在一个
我有一个问题。我需要知道我的页面是否存在全局错误。这是因为我有 2 个不同的 h:messages (错误容器) 一个将显示业务相关消息,另一个将仅显示验证消息。由于业务需求,有两条消息。 当生成
我在两台不同的机器上有相同的代码。一个在工作,另一个没有!代码在这里...你能发现我错过了什么吗? public void urlParameters() { FacesContext con
问题如下:我需要序列化用户 session ,因此,在服务器重新启动后它仍然存在。 使用 JavaEE 和 Tomcat 7 与 implements Serialized 配合使用效果很好,但问题在
我是一名优秀的程序员,十分优秀!