[英]JSF 2.0 Problem (faces-config)
在JSF 1.0中,我们有faces-config.xml
,其中输入了有关托管bean,依赖项和导航等信息。
我正在使用JSF 2.0开发一个示例项目。 但是,由于我不知道注释,因此需要在外部包含face-config.xml
。 请为它提供解决方案,因为在JSF 2.0中,我们不需要包含它。 背后的原因是什么? 我们如何将一个bean设置为managed-bean。 什么是注解? 如何使用?
(...)在JSF 2.0中,我们不需要包含它。 背后的原因是什么?
用三个词来说:易于发展。 编写的代码更少了-删除了样板代码,在可能的情况下使用默认值,并使用注释来减少对部署描述符的需求。
我们如何将一个bean设置为managed-bean。 什么是注解? 如何使用?
使用@ManagedBean
批注标识托管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的名称将是带注释的类的名称,该类的首字母小写。)
您可以与在JSF 1.x中完全一样地在JSF2中使用faces-config.xml。 实际上,尽管通常可以使用注释来代替faces-config.xml文件,但是并非每个JSF功能都可以通过注释严格使用,因此有时即使在JSF2中,也需要一个faces-config文件。
但是,有一个小差异,那就是您应该更新faces-config文件中的xml模式版本引用,以反映JSF2生效的模式更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.