JSF页面呈现错误:面向上下文

当我的JSF页面被渲染时,我收到以下消息。 页面正确呈现,但在控制台中,下面的消息重复多次…

INFO: ERROR: Unable to get Faces Context for session variable: localeBean 

11:54:27,090 INFO [STDOUT] 2009年11月24日上午11:54:27 com.web.util.faces.UtilFacesFuncs log INFO:很可能,您已经从NON-Faces(即Servlet)请求了Faces对象上下文。

在我的JSF中,我使用localebean如下:

  

在faces-config文件中,我将其定义如下:

  Locale Bean localeBean com.mg.faces.LocaleBean session  

在我的类LocaleBean中有一个方法getUserLocaleLoggedIn(),它是在JSF页面执行时执行的代码:

   

在调试我的jsp时,我可以看到被调用的方法,并且每次都很好,我一直调试我的jsp,直到它创建页脚,就在它渲染到浏览器时,这些错误被重复抛出大约20次。 它只发生在tihs jsp上,因为它是我添加的一个新的。 我尝试与现有的jso进行比较,我看不出有什么不同,有谁知道我不想要的东西?

任何帮助非常感谢。

谢谢。

问候

抱歉,我在上面添加的评论没有说得对,这是我在web.xml中的内容:我使用的url是http://localhost.com/context/register/mypage.htm我有这些jsp下的文件夹注册。 我可以从寄存器文件夹中调用其他jsp,但是这个错误没有出现….就像我添加的这个特定的jsp一样。

  Faces Servlet /faces/*   Faces Servlet *.faces   Faces Servlet *.jsf   Faces Servlet *.htm  

我试图添加我的完整映射,但代码标签在这里工作的方式,它没有遇到,因为hte映射有标签…我尝试提供blockquotes,但仍然这个编辑器无法正确显示我的映射,道歉!

知道我应该如何调用我的url。 谢谢。

此错误基本上意味着请求URL(您在浏览器地址栏中看到的URL,或用于包含/分派所需页面的url-patternFacesServlet映射的url-pattern 匹配web.xml 。 您需要让请求URL与其匹配才能调用FacesServlet

因此,如果它是例如以下后缀模式(扩展映射):

 *.jsf 

然后,您需要确保您的请求url与之匹配,即使用http://example.com/context/page.jsf而不是http://example.com/context/page.jsp 。

或者,如果它是例如以下前缀模式(目录映射):

 /faces/* 

然后,您需要确保您的请求url类似于http://example.com/context/faces/page.jsp而不是http://example.com/context/page.jsp 。

编辑 :虽然我不会为FacesServlet使用多个url-pattern ,只是坚持一个,但映射看起来很好。 毕竟,错误消息来自com.web.util.faces.UtilFacesFuncs 。 这看起来像一个本土的实用工具类。 这课正在做什么? 是不是只是该实用程序类中的一个错误,例如它试图在请求中过早或过晚访问FacesContext