use*_*690 8 jsf richfaces jsf-2
使用JBoss 6.0.0.Final,Richfaces 3.3.3.Final,MyFaces 2.0.6,facelets 1.1.15.B1(RF 3的限制).
我正在进行遗留项目,其中包含数百个定义的bean faces-config.xml
.我想保留faces-config.xml中定义的那些,但是对新bean使用注释.但是,当我尝试这个时,我没有成功.由注释定义的bean即
@ManagedBean
@ViewScoped
public class Foobar implements Serializable {
// ...
}
Run Code Online (Sandbox Code Playgroud)
从我的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">
Run Code Online (Sandbox Code Playgroud)
还有什么我需要做的,faces-config.xml
以允许注释也被使用?
在以下情况下,带注释的bean将失败:
/WEB-INF/faces-config.xml
未声明符合JSF 2.0.
@ManagedBean
是javax.annotation
包而不是javax.faces.bean
.
Bean类没有被编译/内置到WAR中/WEB-INF/classes
.
Bean打包在一个缺少的JAR文件中/META-INF/faces-config.xml
.
在EL中使用了错误的托管bean名称,它应该是根据Javabeans规范的第一个字符较低的bean类名称.所以在你的特定例子中,#{fooBar}
应该工作,但#{FooBar}
不会.
Webapp 实际上使用的是JSF 1.x库(您可以在服务器启动日志中读取JSF版本).
归档时间: |
|
查看次数: |
3036 次 |
最近记录: |