【问题标题】:View Scope doesn't work in faces-config.xml查看范围在 faces-config.xml 中不起作用
【发布时间】:2013-07-24 15:25:15
【问题描述】:

我正在使用以下版本的 JSF 和 faces-config.xml 中所示的命名空间 但是,当我尝试使用 view 范围时,它会显示一条警告,说只有请求、会话、应用程序和无。

Implementation-Version: 2.1.6-SNAPSHOT
Bundle-Name: Mojarra JSF Implementation 2.1.6 (20111206-SNAPSHOT)
Bundle-Version: 2.1.6.SNAPSHOT

faces-config.xml:

<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_1.xsd"
          version="2.1">
<managed-bean>
    <description>Backing bean</description>
    <managed-bean-name>myBean</managed-bean-name>
    <managed-bean-class>com.myapp.bean.backing.MyBean</managed-bean-class>
    <managed-bean-scope>view</managed-bean-scope> 
</managed-bean>

【问题讨论】:

    标签: jsf jsf-2 faces-config


    【解决方案1】:

    JSF 不这样做。您显然被 IDE(例如 Eclipse)误导,发出此警告,就好像它来自 JSF 本身一样。请注意,当您忽略此警告并按原样运行项目时,它可以正常工作。

    您显然已将 IDE 项目配置为 JSF 1.x 项目,而不是 JSF 2.x 项目。您需要在 IDE 项目属性的项目方面配置中正确设置它。


    与具体问题无关,因为 JSF 2.0 不再需要在 faces-config.xml 中注册 bean。你可以直接使用@ManagedBean 和朋友。

    【讨论】:

    • 我将jsf的项目方面修改为2.1,如this question所示,但它仍然警告我stackoverflow.com/questions/8171862/…
    • 您的 Eclipse 设置可能搞砸了。你有两个选择:1)忽略它。它工作得很好。 2) 重做 Eclipse 配置/设置。不要做你不能 100% 确定自己在做什么的事情。无论如何,这不是 JSF 问题(该部分工作正常)。这是一个 Eclipse 问题。
    猜你喜欢
    • 2013-04-09
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    相关资源
    最近更新 更多