首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF 2.0问题(faces-config)

JSF 2.0问题(faces-config)
EN

Stack Overflow用户
提问于 2010-06-16 13:45:07
回答 3查看 1.4K关注 0票数 0

我们在JSF1.0中有了faces-config.xml,我们在其中输入了关于托管bean、依赖和导航等的信息。

我正在使用JSF2.0开发一个示例项目。但是,因为我不知道注释,所以我需要在外部包含face-config.xml。请提供它的解决方案,因为在JSF2.0中我们不需要包含它。它背后的原因是什么?如何将bean设置为managed-bean。什么是注解?它是如何使用的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-16 16:44:57

(...)在JSF 2.0中,我们不需要包含它。它背后的原因是什么?

三个字:开发的简易性。只需编写更少的代码--删除了样板代码,尽可能使用默认值,并使用注释来减少对部署描述符的需求。

如何将bean设置为managed-bean。什么是注解?它是如何使用的?

托管bean是使用@ManagedBean注释标识的。bean的作用域也是使用注释(@RequestScoped@SessionScoped@ApplicationScoped等)指定的。

因此,以下是JSF 1.0中的内容:

代码语言:javascript
复制
<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中可以这样重写:

代码语言:javascript
复制
@ManagedBean
@SessionScoped
public class Foo {
    //...
}

并在Facelet页面中像这样引用:

代码语言:javascript
复制
<h:inputText label="eMailID" id="emailId" 
value="#{foo.email}" size="20" required="true"/>

(缺省情况下,托管bean的名称将是带注释的类的名称,类的第一个字母为小写。)

另请参阅

  • What’s New in JSF 2?
票数 2
EN

Stack Overflow用户

发布于 2010-06-16 15:10:31

请参阅annotations tutorial

对于JSF,您可以这样做(使用@ManagedBean注释):

代码语言:javascript
复制
@ManagedBean
public class YourManagedBean {
    ...
}
票数 1
EN

Stack Overflow用户

发布于 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生效的模式更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3050970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档