使用 JBoss 6.0.0.Final、Richfaces 3.3.3.Final、MyFaces 2.0.6、facelets 1.1.15.B1(RF 3 的限制)。
我在一个遗留项目中,其中包含在 faces-config.xml
中定义的数百个 bean。 .我想保留faces-config.xml 中定义的那些,但对新bean 使用注释。但是,当我尝试这样做时,我并没有成功。由注释定义的 bean,即
@ManagedBean
@ViewScoped
public class Foobar implements Serializable {
// ...
}
无法从我的 JSF 页面访问该 bean。我相信我已经通过使用正确的标题在我的 faces-config.xml 中指定了 2.0 版本。
<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_0.xsd"
version="2.0">
在
faces-config.xml
中还有什么我需要做的吗?也允许使用注释?
最佳答案
在以下情况下,带注释的 bean 将失败:
/WEB-INF/faces-config.xml
未声明符合 JSF 2.0。 @ManagedBean
是 javax.annotation
包而不是 javax.faces.bean
. /WEB-INF/classes
. /META-INF/faces-config.xml
. #{fooBar}
应该可以工作,但是 #{FooBar}
惯于。 关于jsf - 如何将注释与 faces-config.xml 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519151/