我们在JSF1.0中有了faces-config.xml,我们在其中输入了关于托管bean、依赖和导航等的信息。
我正在使用JSF2.0开发一个示例项目。但是,因为我不知道注释,所以我需要在外部包含face-config.xml。请提供它的解决方案,因为在JSF2.0中我们不需要包含它。它背后的原因是什么?如何将bean设置为managed-bean。什么是注解?它是如何使用的?
发布于 2010-06-16 16:44:57
(...)在JSF 2.0中,我们不需要包含它。它背后的原因是什么?
三个字:开发的简易性。只需编写更少的代码--删除了样板代码,尽可能使用默认值,并使用注释来减少对部署描述符的需求。
如何将bean设置为managed-bean。什么是注解?它是如何使用的?
托管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的名称将是带注释的类的名称,类的第一个字母为小写。)
另请参阅
发布于 2010-06-16 15:10:31
请参阅annotations tutorial。
对于JSF,您可以这样做(使用@ManagedBean注释):
@ManagedBean
public class YourManagedBean {
...
}发布于 2010-06-17 01:18:29
您可以在JSF2中使用faces-config.xml,方法与在JSF1.x中完全相同。事实上,尽管注释通常可以用来代替faces-config.xml文件,但并不是所有的JSF特性都可以通过注释来使用,所以有时甚至在JSF2中也需要一个faces-config文件。
但是,有一个小的区别,那就是您应该更新faces-config文件中的xml schema version引用,以反映JSF2生效的模式更改。
https://stackoverflow.com/questions/3050970
复制相似问题