java - JSF 2.0 问题(faces-config)

标签 java jsf annotations jsf-2 faces-config

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/

相关文章:

.NET 构造的 Java 等价物

java - 如何在 while 循环内的 nextLine 之后使用 nextDouble

jsf - Java EE 6 : How to inject ServletContext into managed bean

java - 我是否必须将 java 中已经通用的数组转换为通用类型

java - jhipster V5.8.2 中将initialValue 添加到SequenceGenerator

java - 使用自定义注释从抽象类调用特定子方法

java - 如何为 Cobol copybook 生成 java~jrecord 代码

java - JSF selectonemenu 无法实例化类

java - JSF 2.0 : how can I dynamically generate Input component

java - Gson:序列化数组时删除多余的换行符