Java 如何在JSF页面中正确声明一个对象存在于给定类型的会话对象中?

Java 如何在JSF页面中正确声明一个对象存在于给定类型的会话对象中?,java,eclipse,jsp,jsf,Java,Eclipse,Jsp,Jsf,我有一个遗留的JSF 1.0应用程序(使用JSP,而不是facelets),现在我已经将它从MyEclipse迁移到Eclipse 3.5 Java EE,我从类似以下代码中得到了很多错误: <f:view locale="#{foo.connection.langLocale}"> 其中的问题是“foo”是从Java代码显式插入到会话对象中的,而不是由JSF或类似工具注入的,因此eclipsejavaee认为“foo”是未定义的,并将其标记为错误。告诉EclipseJavaE

我有一个遗留的JSF 1.0应用程序(使用JSP,而不是facelets),现在我已经将它从MyEclipse迁移到Eclipse 3.5 Java EE,我从类似以下代码中得到了很多错误:

<f:view locale="#{foo.connection.langLocale}">


其中的问题是“foo”是从Java代码显式插入到会话对象中的,而不是由JSF或类似工具注入的,因此eclipsejavaee认为“foo”是未定义的,并将其标记为错误。告诉EclipseJavaEE“foo”非常好,放在会话对象中,类型为foo的正确方法是什么?

也可以在
faces config.xml
中声明它,或者在Eclipse中禁用JSP/JSF验证。这是一个很好的例子。您可以通过窗口>首选项>Web>JavaServerFaces工具>验证和JSP文件>验证来实现。只需取消勾选顶部的复选标记。如有必要,您可以在那里对其进行不太严格的配置。

帮助指南列出了您的选项和首选项


工具获取bean类型信息的唯一方法可能是在
faces config.xml
中注册bean

您的“epic failure”链接指向bugzilla无法显示的错误太多。你的观点是什么?它实际上是两个链接。我的观点是,我已经使用它7年多了,经常抱怨Eclipse的JSP/JSF/EL validator/autocompletion/等的不正确性。我记得IntelliJ做得更好,但不幸的是,带有JSP编辑器的“JavaEE”变体不是免费软件。