簡體   English   中英

JSF 2.0問題(faces-config)

[英]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,您可以執行以下操作(使用@ManagedBean批注):

@ManagedBean
public class YourManagedBean {
    ...
}

您可以與在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM