我使用的是以下版本的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不这么做。您显然被IDE(例如Eclipse)误导了,它给出了这个警告,就好像它来自JSF本身一样。请注意,当您忽略此警告并按原样运行项目时,它可以正常工作。
显然,您已经将IDE项目配置为JSF1.x项目,而不是JSF2.x项目。您需要在IDE项目属性的项目facets配置中正确设置它。
与具体问题无关,因为JSF 2.0不再需要在faces-config.xml
中注册bean。你可以使用@ManagedBean
和朋友。