2010-02-02 26 views
3

我有一个传统的JSF 1.0应用程序(使用JSP,不是小面),我现在已经从MyEclipse的迁移到Eclipse 3.5的Java EE,我从代码中得到了很多错误的类似以下内容:如何在JSF页面中正确声明对象存在于给定类型的sesion对象中?

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

问题在于“foo”显式地从Java代码插入到会话对象中,而不是由JSF或类似代码插入,因此Eclipse Java EE认为“foo”未定义,并将其标记为错误。告诉Eclipse Java EE“foo”完全正常,放置在会话对象中以及类型为Foo的正确方法是什么?

回答

2

要么在faces-config.xml中声明它,要么在Eclipse中禁用JSP/JSF验证。这是一个epicfailure。你可以做到这一点通过窗口>>网络>JavaServerFaces工具>验证JSP文件>验证。只需取消选中顶部的选中标记即可。如有必要,您可以在那里严格配置它们。

+0

你的“史诗般的失败”链接指的是bugzilla显示的错误太多。你的观点? – 2010-02-02 13:50:35

+0

它实际上是两个链接。我的观点是,我用了7年多的时间,对Eclipse的JSP/JSF/EL验证器/自动完成/等等的错误频率过高。我记得,IntelliJ做得好得多,但不幸的是,带有JSP编辑器的“Java EE”变体不是免费软件。 – BalusC 2010-02-02 13:55:54

0

帮助指南列出了您的JSF ValidationEL Validation首选项的选项。

如果在faces-config.xml中注册,那么工具可以获取豆类的类型信息的唯一方法很可能就是它们。