JSF 1.0 中有 faces-config.xml
,我们在其中输入有关托管 bean、依赖项和导航等的内容。
我正在使用 JSF 2.0 开发一个示例项目。但是,由于我不知道注释,我需要在外部包含 face-config.xml
。请提供它的解决方案,因为在 JSF 2.0 中我们不需要包含它。其背后的原因是什么?我们如何将 bean 设置为托管 bean。什么是注解?如何使用?
最佳答案
(...) in JSF 2.0 we don't need to include it. What is reason behind it?
用三个词来说:易于开发。只是需要编写的代码更少——样板代码被删除,尽可能使用默认值,并且使用注释来减少对部署描述符的需求。
How do we set a bean as managed-bean. What is annotation? How is it used?
托管 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 的名称将是带注释的类的名称,类的首字母小写。)
另请参阅
关于java - JSF 2.0 问题(faces-config),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050970/