我们在JSF 1.0中有faces-config.xml
,我们在其中输入了托管bean,依赖关系&导航等。
我正在使用JSF 2.0开发一个示例项目。但是,由于我不知道注释,我需要在外部包含face-config.xml
。请为它提供解决方案,因为在JSF 2.0中我们不需要包含它。它背后的原因是什么?我们如何将bean设置为托管bean。什么是注释?它是如何使用的?
答案 0 :(得分:2)
(...)在JSF 2.0中我们不需要包含它。它背后的原因是什么?
用三个词来说:易于发展。编写的代码更少 - 删除样板代码,尽可能使用默认值,并使用注释来减少对部署描述符的需求。
我们如何将bean设置为managed-bean。什么是注释?它是如何使用的?
使用@ManagedBean
注释标识托管bean。 bean的范围也使用注释(@RequestScoped
,@SessionScoped
,@ApplicationScoped
等)指定。
以下是JSF 1.0中的以下内容:
<managed-bean>
<managed-bean-name>foo</managed-bean-name>
<managed-bean-class>com.foo.Foo</managed-bean-class>
<managed-bean-scope>session</managed-bean>
</managed-bean>
可以在JSF 2.0中重写:
@ManagedBean
@SessionScoped
public class Foo {
//...
}
在Facelet页面中这样提到:
<h:inputText label="eMailID" id="emailId"
value="#{foo.email}" size="20" required="true"/>
(默认情况下,托管bean的名称将是带注释的类的名称,该类的第一个字母为小写。)
答案 1 :(得分:1)
对于JSF,您可以执行以下操作(使用@ManagedBean
注释):
@ManagedBean
public class YourManagedBean {
...
}
答案 2 :(得分:0)
您可以在JSF2中使用faces-config.xml,就像在JSF 1.x中一样。实际上,尽管通常可以使用注释来代替faces-config.xml文件,但并不是每个JSF功能都可以通过注释严格使用,因此有时甚至在JSF2中也需要faces-config文件。
然而,有一个小的区别,那就是你应该更新faces-config文件中的xml架构版本引用,以反映JSF2生效的架构更改。